将命令行参数传递给另一个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