为什么我一直得到重定向意外错误python?

时间:2015-04-23 16:29:03

标签: python redirect

我正在尝试从Python中运行一个程序,并将该输出重定向到一个新文件,稍后我会读到另一个程序。除了“%s>%s”之外,我还有其他方法吗?

distmathandle = open("newfile.distmat", "w")
cmd = "quicktree -out m %s>%s" % (stfname,distmathandle)
sys.stderr.write("command: %s\n" %cmd)
os.system(cmd)
sys.stderr.write("command done\n")
distmathandle.close()

1 个答案:

答案 0 :(得分:1)

您正在将文件对象传递给该命令,但只是希望该文件的名称将输出重定向到。

试试吧:

cmd = "quicktree -out m %s>newfile.distmat" % (stfname)

删除该文件的open()/ close()。 或者使用字符串变量作为文件名并使用上一行。但是,您不应该同时从两个进程打开该文件。

执行的命令不知道调用它的Python程序中的对象。