Linux上的某些命令会将文件作为参数接收。 (猫,grep,sed,awk,......) 如何将StringIO对象作为"文件"争论? (因为我不想把它写到磁盘上的文件中,然后显式传递给这些命令) 或者我需要其他类型的内存文件"对象
答案 0 :(得分:2)
Create a pipe,connect the read end到preexec_fn
内的进程,将设备文件传递给命令,copy the StringIO
contents传递给写端。
答案 1 :(得分:0)
我认为你问的是如何将StringIO对象作为文件参数传递。
您列出的命令也会将stdout的输入作为文件参数。
如:
mypyscript.py | cat
或
cat < mypyscript.py
你在这里做的是在mypqscript.py中将StringIO对象内容写入stdout
假设fo是一个包含内容的StringIO对象,在脚本的脚本中的适当位置有:
sys.stdout.write(fo.getvalue())
sys.stdout.flush()