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