2024-05-14 00:05:46 发布
网友
我有一个python脚本在linux中作为服务运行(也作为autorun),并且它有大量的输出! 当程序已在运行时,如何读取此输出?在
也许我可以将所有的输出记录到一个文件中,但是当新的输出被记录下来时,我必须一直打开并刷新文件!在
好吧,说到问题的第二段,在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
好吧,说到问题的第二段,在shell中可以:
当文件更新时,它会自动刷新,所以在Linux下这是一个有效的解决方案。在
也可以从python端实现tail,这基本上是对tail的连续读取。可在此处找到实现此功能的代码段:
http://code.activestate.com/recipes/157035-tail-f-in-python/
此外,如果使用文件写入的附加模式而不是write方法,则可以连续输出。在
Scrapy还使用了管道的概念,它允许许多相同的功能。下面是一些无用代码的示例,您可以使用这些代码执行相同的操作:
相关问题 更多 >
编程相关推荐