我想在主脚本中使用子进程运行脚本,该脚本会给出几行文本作为结果,然后将结果复制到文本文件中。我使用的是Python 2.7。
我想要运行辅助脚本的文件夹与主脚本所在的文件夹不同,因此我按照this answer说明了如何执行此操作。
我的代码如下所示:
import subprocess
if __name__=="__main__":
subprocess.check_call(['top > test.txt'], cwd=newdirectory)
在这种情况下,我只是使用top作为我想要做的事情的一个例子。如果我在终端中写top > test.txt
,我会得到一个名为test.txt的文本文件,在执行命令时输出为top。
但如果我运行上面发布的代码,我会收到错误。我也尝试过使用类似的东西:
import subprocess
if __name__=="__main__":
subprocess.check_call(['top', '> test.txt'], cwd=newdirectory)
但这并没有给出任何东西(这是有道理的,因为>test.txt
不是top命令的参数。
如何将脚本的输出(或本例中为top)写入新目录中的test.txt文件?