将命令行参数传递给另一个python
所以这是一个场景。我正在尝试使用以下代码编写程序,使其像将命令行参数传递给另一个python,python,subprocess,Python,Subprocess,所以这是一个场景。我正在尝试使用以下代码编写程序,使其像namefile.py(参数)一样运行: process=subprocess.Popen([sys.executable,filename],stdout=subprocess.PIPE) res=process.communicate(argument) z=res[0].strip("\n").strip("\r") 令我大吃一惊的是,程序不是通过命令行参数传递(参数),而是通过标准输出传递。正确的方法是什么 注意:我想发送它,而不
namefile.py(参数)
一样运行:
process=subprocess.Popen([sys.executable,filename],stdout=subprocess.PIPE)
res=process.communicate(argument)
z=res[0].strip("\n").strip("\r")
令我大吃一惊的是,程序不是通过命令行参数传递(参数)
,而是通过标准输出传递。正确的方法是什么
注意:我想发送它,而不是接收它。只需咨询
命令行参数被传递给Popen
调用,与stdin
/stdout
无关
import subprocess
args = ['/path/to/executable', 'first_arg', 'second_arg']
p = subprocess.Popen(args, stdout=subprocess.PIPE)
all_of_stdout = p.stdout.read()
exit_code = p.wait()
你要把
(参数)
传递到哪里?一个小问题。我如何从我联系的程序接收标准输出?它是否像p=subprocess.Popen(args,stdout=subprocess.PIPE)
theOutput=p[0]
?p=subprocess.Popen(args,stdout=subprocess.PIPE,stderr=subprocess.PIPE)现在输出,error=p.communicate()……使用输出或程序抛出的错误。还有一个问题。如果我尝试连接的程序是python,我应该怎么做?我尝试了args=[[sys.executable,filename.py],argument]
,但它返回了Windows2错误=0