0

Linux 上的某些命令接收文件作为参数。(cat, grep, sed, awk,...) 如何将 StringIO 对象作为“文件”参数传递?(因为我不想将它写入磁盘上的文件,然后显式传递给这些命令)或者我需要其他类型的“内存文件”对象?

4

2 回答 2

2

创建一个管道将读取端连接到您的进程中preexec_fn,将设备文件传递给命令,并将内容复制StringIO到写入端。

于 2012-05-08T04:42:33.503 回答
0

我认为您要问的是如何将 StringIO 对象作为文件参数进行管道传输。

您列出的命令也将来自 stdout 的输入作为文件参数。

如:

mypyscript.py | cat 

或者

cat < mypyscript.py

您在这里所做的是将 StringIO 对象内容写入 mypqscript.py 中的标准输出

假设 fo 是一个带有内容的 StringIO 对象,在脚本中的适当位置有:

   sys.stdout.write(fo.getvalue())
   sys.stdout.flush()
于 2012-05-08T04:44:51.273 回答