python 编程,如何用subprocess执行带参数的命令,并且参数储存在data.txt里面

想执行类似如下命令(./examplecpp是可执行程序,参数储存在data.txt里面)p1=subprocess.Popen(['./examplecpp','`ca... 想执行类似如下命令(./examplecpp是可执行程序,参数储存在data.txt里面)
p1=subprocess.Popen(['./examplecpp','`cat data.txt`'], stdout=subprocess.PIPE)
发现:命令把cat data.txt当作参数。我希望把
cat data.txt的输出当作输入参数。如何做呢?
ps: os.system(。。。)可以执行,但是会直接把运行结果输出到屏幕上去。我不希望这样我想通过变量p1储存结果,为以后其他命令执行。有其他方式(不是subprocess)也行,但要求能储存运行结果。
展开
 我来答
Felixonmars
推荐于2017-11-23 · TA获得超过509个赞
知道小有建树答主
回答量:550
采纳率:0%
帮助的人:451万
展开全部
``使命令结果作为参数不是程序的处理,是shell的处理,所以如果需要这么使用,应当使用shell处理你的字符串
简单说来,应该这么用:
p1=subprocess.Popen('./examplecpp `cat data.txt`', stdout=subprocess.PIPE, shell=True)
fledna
2010-08-14 · TA获得超过152个赞
知道答主
回答量:43
采纳率:0%
帮助的人:36.9万
展开全部
调用 shell 的执行功能
subprocess.Popen(['/bin/sh', .....
思路:
sh -e "你的所有命令"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一猪之哀伤一
2010-08-14 · TA获得超过669个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:296万
展开全部
使用os.popen吧。

import os

p1 = os.popen('./examplecpp `cat data.txt`').read()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式