首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从运行Python脚本的批处理文件中读取输出

从运行Python脚本的批处理文件中读取输出
EN

Stack Overflow用户
提问于 2018-07-05 06:31:16
回答 1查看 2K关注 0票数 0

我有一个运行Python脚本的批处理文件。此脚本模拟每5秒一次打印3行的数据。下面是我拥有的简单代码。

代码语言:javascript
复制
while True:
    print("Some Data")
    print("More Data")
    print("Some More Data")

    time.sleep(5)

因此,当运行批处理文件时,这3行在cmd中每5秒打印一次。有没有办法让我每隔5秒就把这些记录到一个.txt文件中?

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 06:39:02

有没有办法让我每隔5秒就把这些记录到一个.txt文件中?

是。事实上,是两种半的方式。

首先,您可以修改Python脚本以写入文本文件,而不是标准输出:

代码语言:javascript
复制
with open('logfile.txt', 'w') as f:
    while True:
        print("Some Data", file=f)
        print("More Data", file=f)
        print("Some More Data", file=f)

        time.sleep(5)

或者,如果您希望能够传递给它一个文件名,而不是硬编码logfile.txt

代码语言:javascript
复制
import sys

filnename = sys.argv[1]
with open(filename, 'w') as f:
    while True:
        print("Some Data", file=f)
        print("More Data", file=f)
        print("Some More Data", file=f)

        time.sleep(5)

现在,您的批处理文件将执行以下操作:

代码语言:javascript
复制
py myscript.py logfile.txt

当然,在这两种情况下,您不必对print使用file=参数;如果您需要对文件进行更多控制,则可以直接使用f.write("Some Data\n"),或者使用the logging module来神奇地执行更出色的日志记录(例如,使用自动时间戳)。

或者,您可以不使用Python脚本,而是修改批处理文件以使用shell redirection

代码语言:javascript
复制
py myscript.py >logfile.txt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51181411

复制
相关文章

相似问题

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