【发布时间】:2015-09-24 01:24:09
【问题描述】:
我正在从 SEC 文件中提取 PDF。他们通常是这样来的:
无论出于何种原因,当我将原始 PDF 保存为 .text 文件,然后尝试运行时
uudecode -o output_file.pdf input_file.txt
从 python subprocess.call() 函数或任何其他允许从命令行执行命令的 python 函数,生成的 PDF 文件已损坏。如果我直接从命令行运行相同的命令,则不会损坏。
仔细查看从 python 脚本输出的 PDF 文件时,看起来文件过早结束。从 python 执行命令行命令时是否存在某种输出限制?
谢谢!
【问题讨论】:
-
如果从命令行运行:
python -muu -d input_file.txt output_file.pdf会发生什么? -
@J.F.Sebastian 当我在命令行中运行它时,它起作用了。但只要我把它像这样放入我的代码中:
subprocess.call([ "python", "-muu", "-d", input_file.txt, output_file.pdf])我也有同样的问题 -
不要将它作为 Python 脚本中的子进程运行,您可以将其导入:
import uu; uu.decode('input_file.txt', 'output_file.pdf')(注意:文件名周围的引号不是可选的;它们在 Python 中创建一个字符串对象) .或者(更好)传递打开的二进制文件对象,例如,使用input_file = open('input_file.txt', 'rb'); output_file = open('output_file.pdf', 'wb')创建的
标签: python pdf subprocess corrupt uudecode