我想将STDOUT
of附加subprocess.call()
到现有文件中。我下面的代码覆盖了文件 -
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()
我正在寻找>>
insubprocess.call()
或的等价物subprocess.Popen()
。试图找到它让我发疯..
更新:
按照到目前为止的答案,我已将代码更新为
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()
我正在从 Windows 的命令行运行此代码 -
C:\users\aidan>test_subprocess.py
这会将文本添加到日志文件中。当我再次运行脚本时,没有添加任何新内容。它似乎仍然在覆盖文件..