linuxpython从正在运行的python脚本读取输出

2024-05-14 00:05:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本在linux中作为服务运行(也作为autorun),并且它有大量的输出! 当程序已在运行时,如何读取此输出?在

也许我可以将所有的输出记录到一个文件中,但是当新的输出被记录下来时,我必须一直打开并刷新文件!在


Tags: 文件程序脚本linux记录autorun
2条回答

好吧,说到问题的第二段,在shell中可以:

tail -f logfile.log

当文件更新时,它会自动刷新,所以在Linux下这是一个有效的解决方案。在

也可以从python端实现tail,这基本上是对tail的连续读取。可在此处找到实现此功能的代码段:

http://code.activestate.com/recipes/157035-tail-f-in-python/

此外,如果使用文件写入的附加模式而不是write方法,则可以连续输出。在

Scrapy还使用了管道的概念,它允许许多相同的功能。下面是一些无用代码的示例,您可以使用这些代码执行相同的操作:

class JsonWriterPipeline(object):
    def __init__(self):
        self.file = (open(filepath, 'a'))
    def process_item(self, item, spider):
        self.file.write(json.dumps(dict(item)) + '\n')
        return item

相关问题 更多 >