我使用子进程运行Python脚本,并愿意将输出保存到文件中,并在终端上显示实时日志。
我已经编写了下面的代码及其文件中的保存日志,但没有在终端上显示实时脚本执行日志。
TCID = sys.argv[1]
if TCID == "5_2_5_3":
output = subprocess.check_output([sys.executable, './script.py'])
with open('scriptout.log', 'wb') as outfile:
outfile.write(output)
发布于 2017-12-25 14:04:15
我想这会解决你的问题
import subprocess
outputfile = open('scriptout.log', 'a')
process = subprocess.Popen(["ping", "127.0.0.1"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while True:
output = process.stdout.readline()
if output == b'' and process.poll() is not None:
break
if output:
out = output.decode()
outputfile.write(out)
print(out, end="")
outputfile.close()
我也试过
import subprocess
output = subprocess.check_output(["ping", "127.0.0.1"])
with open('scriptout.log', 'wb') as outfile:
print(output)
outfile.write(output)
但它在命令执行结束后输出。另外,我还想尝试使用日志模块,但我不知道如何使用它,对不起:
https://stackoverflow.com/questions/47969034
复制相似问题