我遇到了通话功能
的问题我正在尝试使用'>'将程序的输出重定向到文本文件
这是我尝试过的:
import subprocess
subprocess.call(["python3", "test.py", ">", "file.txt"])
但它仍然在命令提示符下显示输出,而不是在txt文件中显示
答案 0 :(得分:3)
有两种方法可以解决这个问题。
让python处理重定向:
with open('file.txt', 'w') as f:
subprocess.call(["python3", "test.py"], stdout=f)
让shell处理重定向:
subprocess.call(["python3 test.py >file.txt"], shell=True)
一般来说,首先是首选,因为它避免了壳的变幻莫测。
最后,您应该研究test.py
可以作为导入模块运行而不是通过subprocess
调用它的可能性。 Python的设计使得编写脚本变得容易,因此可以在命令行(python3 test.py
)或模块(import test
)中使用相同的功能。