mylog.txt"-6ren"> mylog.txt"-我尝试实现一个选项,将控制台输出另外保存到文件中。 (如果该选项已激活) 我找到了两种方法:1.使用日志模块2. 编写一个这样的类: class MyWriter: def __init__(-6ren">
gpt4 book ai didi

python - 如何模拟 "myscript.py > mylog.txt"

转载 作者:行者123 更新时间:2023-12-01 06:05:45 24 4
gpt4 key购买 nike

我尝试实现一个选项,将控制台输出另外保存到文件中。 (如果该选项已激活)

我找到了两种方法:1.使用日志模块2. 编写一个这样的类:

class MyWriter: 
def __init__(self, stdout, filename):
self.stdout = stdout
self.logfile = file(filename, 'a')
def write(self, text):
self.stdout.write(text)
self.logfile.write(text)
def close(self):
self.stdout.close()
self.logfile.close()

但是我遇到了一个问题。某些代码将在新进程中执行。而且这种方式无法捕捉到他们的指纹。

当我启动我的程序时

"myscript.py > mylog.txt"

它有效。他得到了所有的指纹。但是我如何在我的脚本中模拟这个功能呢?

最佳答案

如果我理解正确的话,您想重定向您启动的其他进程的 stdout 吗?

那么你所要做的就是使用

subprocess.Popen(...)

命令。然后您就可以使用您的 MyWriter 类了。

关于python - 如何模拟 "myscript.py > mylog.txt",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8036832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com