我正致力于从美国证券交易委员会的文件中提取PDF文件。它们通常是这样的:
SEC Filing Example
无论出于什么原因,当我将原始PDF保存到.text文件中,然后尝试运行
uudecode -o output_file.pdf input_file.txt
从pythonsubprocess.call()
函数或允许从命令行执行命令的任何其他python函数中,生成的PDF文件已损坏。如果我直接从命令行运行同一个命令,就不会损坏。在
当仔细查看从python脚本输出的PDF文件时,文件似乎过早结束。从python执行命令行命令时,是否存在某种输出限制?在
谢谢!在
Tags:
这个脚本在python3.4.1下运行,在Fedora 21 x86_64上运行,uudecode 4.15.2:
使用链接的SEC文件(长度:173141b;sha1:
e4f7fa2cbb3422411c2f2968d954d6bb9808b884
),解码后的PDF(长度:124557b;sha1:1676320e1d9923e14d19451c16688198bc93ca0d
)在查看时看起来是正确的。在您的环境中可能有其他因素导致了问题。您可能需要在您的问题中添加其他详细信息。在
如果所说的“output limit”是指}。如果子进程向这两个流中的任何一个写入足够的数据,而您的脚本没有定期排出它们,则子进程将阻塞(请参阅^{} 模块文档)。在我的测试中,}写入任何内容。在
uudecode
所写文件的大小,那么就不是了。在使用subprocess
模块时,唯一需要担心的“output limit”类型是在创建子进程时传递stdout=PIPE
或{uudecode
没有向stdout
或{相关问题 更多 >
编程相关推荐