我有简单的Application(* .exe),我使用Python subprocess.Popen
传递命令行参数,如下所示:
Write_data = Popen(["Test.exe", arg1, arg2)],
cwd = TARGET_PATH,
shell = True,
stdin=PIPE,
stdout=PIPE)
output = ''
for line in iter(Write_data.stdout.readline, ""):
print line,
output += line
我编写了我的应用程序以接收参数并执行某些操作。目前,每次我想用不同的数据测试我的应用程序时,我都会多次调用子进程函数。
是否可以只运行一次子进程并将参数发送到正在运行的进程?
我尝试了Write_Data.stdin.write(arg3, arg4)
,但它似乎没有效果。
答案 0 :(得分:0)
我认为论证不是进程间通信的工具。
您可以尝试使用stdin和stdout与正在运行的程序进行交互,但是您只能像写入文件一样写入stdin 并从stdout读取。 stdin中没有参数。
写入stdin时会发生什么情况取决于接收器。 但是你可以在命令行上调用你的接收器,看看如果把东西输入stdin会发生什么。