2014-01-28 21 views
0

我正在使用Python創建使用subprocess.call(command)的Windows命令,其中command是我爲Windows命令生成的字符串。我需要我的命令輸出到.txt文件的結果,因此我使用2>> C:\Users\me\out.txt作爲command的一部分,但Python似乎無法識別大於字符>。我試過使用Unicode值,u'\u003E'Python不認識大於號?

[編輯]如果我複製command並粘貼到我的命令提示符中,那麼它將正確執行命令。否則,它將無法從我的Python腳本中運行。

+1

你究竟如何在代碼中做這件事? –

+0

'>'由shell處理。你在呼叫中使用'shell = True'嗎? – Barmar

回答

1

Python與此無關。

如果你

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

它是不重定向的這部分外殼。

如果你不使用shell,它不能工作。在這種情況下,您做的更好

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

如果您使用的外殼結構,如重定向,你需要的參數shell=True