使用python将cmp输出定向到文件

时间:2013-11-26 19:17:06

标签: python linux

我正在尝试这样的事情,但我不确定它为什么不起作用。

 for files in os.listdir("."):
    if files.endswith(".o"):
       str = "cmp "+ str1+"  "+str2 +" > s.txt "
       subprocess.Popen(str, shell=True)

如果我没有te.txt,我会得到输出,但是当我尝试将输出定向到文件时,不会创建该文件。谁能告诉我这里有什么问题?

1 个答案:

答案 0 :(得分:1)

试试这个

import os

for files in os.listdir("."):
    if files.endswith(".o"):
       str = "cmp "+ str1+"  "+str2 +" > s.txt "
       os.system(str)

如果您使用subprocess,则需要将所有参数作为单词列表 例如:

import subprocess
subprocess.Popen(["ls", "-la"])

最后一句话,你不需要输出... > file.txt的输出,你可以使用subprocess。例如

subprocess.Popen(["ls", "-la"], stdout=anyfile)