python - 如何使用 Python 从二进制代码创建 PDF 文件?

标签 python pdf binary

我正在尝试使用 Python 通过电子邮件向自己发送 PDF 文件。我可以向自己发送 PDF 文件的二进制代码,但无法从该二进制代码重建 PDF 文件。

以下是获取 PDF 文件的二进制代码的方法:

file = open('code.txt', 'w')
for line in open('somefile.pdf', 'rb').readlines():
    file.write(str(line))
file.close()

以下是我尝试从二进制代码创建 PDF 文件的方法:

file = open('new.pdf', 'wb')
for line in open('code.txt', 'r').readlines():
    file.write(bytes(line))
file.close()

然后我收到此错误:

Traceback (most recent call last): File "something.py", line 3, in file.write(bytes(line)) TypeError: string argument without an encoding

我做错了什么?

最佳答案

在第一个 block 中,以二进制写入模式(wb)打开文件,因为您正在向其中写入二进制文件。此外,您不需要将其显式转换为 str。它应该看起来像这样:

file = open('code.txt', 'wb')
for line in open('somefile.pdf', 'rb').readlines():
    file.write(line)
file.close()

对于第二个 block ,以读取二进制模式 (rb) 打开文件。这里也不需要显式转换为字节。它应该看起来像这样:

file = open('new.pdf', 'wb')
for line in open('code.txt', 'rb').readlines():
    file.write(line)
file.close()

这应该可以解决问题。但为什么首先需要转换它呢?保持文件完整将节省您的辛劳和计算能力。

关于python - 如何使用 Python 从二进制代码创建 PDF 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43019315/

相关文章:

python - 廉价航类项目/按钮元素返回 'NoneType'对象错误Selenium python

python - 操作字节列表时使用 pack_into() 的替代方案?

python - 如何将复杂矩阵保存在文件中?

python - Python 中反向集合运算符的实际使用

python - SublimeText3插件on_modified api实现

php - Nginx - 将 PHP 视为二进制文件

javascript二进制操作不适用于选项

pdf - 如何在 Microsoft Word 2010 文档中添加隐藏文本(隐藏剧透)按钮

java - Primefaces PDFExporter 在 PDF 中将非 ASCII 字母显示为垃圾

android - 应用程序内附加的 PDF 文件但不使用 android Intent 发送