【发布时间】:2010-09-19 22:16:27
【问题描述】:
我想知道是否有一种方法可以在 python 中运行命令行可执行文件,但将参数值从内存传递给它,而无需将内存数据写入磁盘上的临时文件。从我所见,似乎 subprocess.Popen(args) 是从 python 脚本中运行程序的首选方式。
例如,我在内存中有一个 pdf 文件。我想使用大多数 linux 发行版中存在的命令行函数 pdftotext 将其转换为文本。但我不希望将内存中的 pdf 文件写入磁盘上的临时文件。
pdfInMemory = myPdfReader.read()
convertedText = subprocess.<method>(['pdftotext', ??]) <- what is the value of ??
我应该调用什么方法,我应该如何将内存数据通过管道传输到其第一个输入并将其输出传输回内存中的另一个变量?
我猜还有其他 pdf 模块可以在内存中进行转换,有关这些模块的信息会有所帮助。但为了将来参考,我也对如何从 python 内部将输入和输出通过管道传输到命令行感兴趣。
任何帮助将不胜感激。
【问题讨论】: