我有一个场景,我有 3个python脚本文件。 使用一个文件我将创建一个文本文件。使用其他两个脚本文件,我会将一些字符串附加到我之前创建的文件中。到目前为止,它运作良好。
但是,我现在需要以不同的方式做同样的事情。我需要打开命令提示符,然后在该命令提示符下打印字符串,使用两个python脚本文件。
有人可以帮忙吗?
先谢谢。
答案 0 :(得分:0)
我猜你正在使用Windows,所以我会尝试用这个假设回答你的问题。如果我了解您要完成的任务,则需要1个脚本来启动命令提示符,然后您需要启动其他2个脚本并将输出重定向到命令行。因为你对细节非常了解,我能给你的是一些非常通用的东西,简单的方法就是这样:
import subprocess
# Opens cmd.exe and pipes stdout
p1 = subprocess.Popen('cmd', shell=True, stdin=None, stdout=subprocess.PIPE)
# Runs python scripts using stdin and stdout from p1
p2 = subprocess.Popen('python.exe foo.py', shell=True, stdin=p1.stdout)
p3 = subprocess.Popen('python.exe bar.py', shell=True, stdin=p1.stdout)
p1.stdout.close()
p2.communicate()
p3.communicate()
另一种选择是允许参数,这样你就可以像这样运行初始脚本:
python main.py foo.py bar.py
如果没有一个更具体的问题,我可以提出一个很好的答案。