我有一个简单的命令行实用程序,可以在控制台和文件系统上生成输出。虽然我非常清楚如何捕获控制台输出,但我不知道如何拦截文件 - 我事先知道文件名。
我想保持执行“在内存中”而不触及文件系统,因为我立即解析并删除创建的文件,这会造成不必要的瓶颈(特别是当我需要运行数百万次的小工具时)。
所以,总而言之,我正在努力实现以下目标:
答案 0 :(得分:0)
由于您只需要支持Linux,因此可以使用命名管道。我们的想法是将输出文件预创建为命名管道,并让您的流程从管道中读取工具的输出。
例如,请参阅Introduction to Named Pipes。
Python API为os.mkfifo()
。