Python不承认大于号?

时间:2014-01-28 16:56:21

标签: python batch-file unicode

我正在使用Python使用subprocess.call(command)创建Windows命令,其中command是我为Windows命令生成的字符串。我需要将命令的结果输出到.txt文件,因此我使用2>> C:\Users\me\out.txt作为command的一部分,除了Python似乎不能识别大于字符> 。我也尝试过使用Unicode值u'\u003E'

[编辑]如果我复制command并将其粘贴到我的命令提示符中,那么它将正确执行命令。否则它将无法使用我的Python脚本。

2 个答案:

答案 0 :(得分:1)

Python与此无关。

如果你这样做

subprocess.call("command 2>>out.txt", shell=True)

是执行此部分重定向的shell。

如果你不使用shell,它就无法工作。在这种情况下,你最好做

with open("out.txt", "a") as outfile:
    subprocess.call(["command"], stderr=outfile)

答案 1 :(得分:0)

如果使用重定向等shell结构,则需要参数shell=True