该脚本对我在 Fedora 21 x86_64 上使用 uudecode 4.15.2 在 Python 3.4.1 下运行时运行良好:
import subprocess
subprocess.call("uudecode -o output_file.pdf input_file.txt", shell=True)
使用链接的 SEC 文件(长度:173,141 B;sha1:)e4f7fa2cbb3422411c2f2968d954d6bb9808b884
,解码的 PDF(长度:124,557 B;sha1:)1676320e1d9923e14d19451c16688198bc93ca0d
在查看时显示正确。
您的环境中可能存在其他问题导致问题。您可能想为您的问题添加其他详细信息。
从 python 执行命令行命令时是否存在某种输出限制?
如果“输出限制”是指正在写入的文件的大小uudecode
,则不是。subprocess
使用模块时唯一需要担心的“输出限制”类型是通过时stdout=PIPE
或stderr=PIPE
创建子进程时。如果子进程向这些流中的任何一个写入足够的数据,并且您的脚本没有定期耗尽它们,则子进程将阻塞(请参阅subprocess
模块文档)。在我的测试中,uudecode
什么也没写到stdout
or stderr
。