首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python子进程在终端上显示日志并保存在文件中

Python子进程在终端上显示日志并保存在文件中
EN

Stack Overflow用户
提问于 2017-12-25 13:21:24
回答 1查看 1.7K关注 0票数 1

我使用子进程运行Python脚本,并愿意将输出保存到文件中,并在终端上显示实时日志。

我已经编写了下面的代码及其文件中的保存日志,但没有在终端上显示实时脚本执行日志。

代码语言:javascript
运行
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-25 14:04:15

我想这会解决你的问题

代码语言:javascript
运行
复制
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()

我也试过

代码语言:javascript
运行
复制
import subprocess

output = subprocess.check_output(["ping", "127.0.0.1"])
with open('scriptout.log', 'wb') as outfile:
    print(output)
    outfile.write(output)

但它在命令执行结束后输出。另外,我还想尝试使用日志模块,但我不知道如何使用它,对不起:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47969034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档