Python:将文件转换为base64编码

Ran*_*lue 21 python

这是我的代码:

import base64

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

我基于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'
Run Code Online (Sandbox Code Playgroud)

为什么找不到该b64encode属性?

Ign*_*ams 60

您有一个名为base64.pyshadow stdlib模块的脚本.重命名它.

  • 你不是第一个这样做的人. (22认同)
  • @ IgnacioVazquez-Abrams以及持续的upvotes证明,不是最后一个要做到这一点:) (4认同)
  • 我还要注意,"f.readlines()"应该是"f.read()",因为编码器需要一个字符串.(在我的测试中有问题.) (3认同)
  • @Yetti 绝对不是最后一个。7年后我有时还是会犯同样的错误 (3认同)