我想要的subprocess.call()
的STDOUT
追加到現有文件。我下面的代碼覆蓋文件 -蟒子被覆蓋用於標準輸出文件 - 我需要它附加到文件(Windows)
log_file = open(log_file_path, 'r+')
cmd = r'echo "some info for the log file"'
subprocess.call(cmd, shell=True, stdout=log_file, stderr=STDOUT)
log_file.close()
我要找的>>
在subprocess.call()
或subprocess.Popen()
等同。它的駕駛我瘋狂試圖找到它..
UPDATE:
繼答案爲止我已經更新了我的代碼
import subprocess
log_file = open('test_log_file.log', 'a+')
cmd = r'echo "some info for the log file\n"'
subprocess.call(cmd, shell=True, stdout=log_file, stderr=subprocess.STDOUT)
log_file.close()
我運行在命令行這個代碼窗戶 -
C:\users\aidan>test_subprocess.py
這增加了文本的日誌文件。當我再次運行腳本時,沒有新增任何內容。它似乎仍然覆蓋文件..
感謝您的輸入 - 這是有道理的,但不知何故,它仍然失敗(我已經更新了我的問題有一個完整的腳本)。 –
我已經更新了我的答案,包括一個端到端的替代方法來打開文件進行追加。 –
就這樣做了。再次感謝Martijn。 –