因此,我有一個python腳本輸出文本到控制檯,我需要記錄到一個文件,而腳本是相當複雜的,我不編碼python,所以我寧願不改變它。如何將python腳本cmd輸出重定向到文件?
我想這樣做
>python script.py arg1 arg2 ... argn > "somefile.txt"
但它不會工作,我的猜測是,蟒蛇需要>
和"somefile.txt"
作爲參數..
才能實現這一目標,以及如何?
因此,我有一個python腳本輸出文本到控制檯,我需要記錄到一個文件,而腳本是相當複雜的,我不編碼python,所以我寧願不改變它。如何將python腳本cmd輸出重定向到文件?
我想這樣做
>python script.py arg1 arg2 ... argn > "somefile.txt"
但它不會工作,我的猜測是,蟒蛇需要>
和"somefile.txt"
作爲參數..
才能實現這一目標,以及如何?
$ (python script.py one two) > test.txt
或者,如果你想看到的輸出,並把它寫入一個文件:
$ python script.py one two | tee test.txt
如果仍然沒有寫入文件,請嘗試重新定向STDERR
:
$ python script.py one two 2>&1 | tee test.txt
嘗試使用括號創建文件,並且文件被創建,但輸出未重定向且文件保持空白。對不起,但我不明白你的語法其餘..通過'$'你暗示Linux bash?因爲我在談論Windows命令提示符 –
是的,得到了''tee'不被識別爲內部或外部命令...「 –
@GarinGG,Windows沒有與'tee'命令一起分發。你可以安裝一個,但你並沒有問過這個問題。只需通過'> somefile.txt'重定向stdout,然後通過'2>&1'將stderr重定向到stdout(即同一個文件)。 – eryksun
將這些代碼行添加到軋製python文件。
import sys
sys.stdout = open('somefile.txt', 'w')
這是將sys.stdout設置爲您選擇的文件對象。
你的猜測是錯誤的。它以什麼方式不起作用?你看到了什麼? – immortal
我在控制檯中看到輸出,並且沒有創建文件。 –
什麼外殼?你的腳本如何打印輸出? – immortal