Python:将文件转换为base64编码

32

这是我的代码:

import base64

with open('/Users/Bob/test.txt') as f:
    encoded = base64.b64encode(f.readlines())
    print(encoded)

我是根据base64文档创建的。然而,当我尝试在Python 2.7.1和Python 3.2.2上运行它时,会出现以下错误:

    import base64
  File "/Users/Bob/test.txt'", line 4, in <module>
    encoded = base64.b64encode(f.readlines())
AttributeError: 'module' object has no attribute 'b64encode'

为什么找不到b64encode属性?

1个回答

95

您有一个名为base64.py的脚本,这会掩盖掉Python标准库中的同名模块。请将其重命名。


哇,这真是太快了!你是怎么找出问题的?我确实把文件命名为base64.py - Randomblue
36
你不是第一个做这件事的人。 - Ignacio Vazquez-Abrams
顺便说一下,你可以简单地使用以下方式运行此程序: - Oren
7
正如持续的点赞所证明的那样,@IgnacioVazquez-Abrams 不是唯一一个这样做的人 :) - Yetti
5
我想要指出"f.readlines()"应为"f.read()",因为编码器需要一个字符串。(我测试过并遇到了这个问题。) - Encompass
3
@Yetti 绝对不是最后一次。7年后,我有时仍会犯同样的错误。 - jasper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接