AttributeError:'模块'对象没有属性&maketrans' - PyCharm

时间:2016-08-14 11:47:19

标签: python python-2.7 base64 pycharm urllib

我使用Python 2.7 + PyCharm 2016.2 + Windows 10(64)在我的电脑上遇到了这个奇怪的问题。

运行脚本时:

import urllib
from BeautifulSoup import *

url = raw_input('Enter -')
if (len(url) < 1):
    url = "http://python-data.dr-chuck.net/comments_292106.html"
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
lst = list()
tags = soup('span')

for tag in tags:
#    print 'TAG:', tag
#    print 'URL:', tag.get('href', None)
#    print 'Contents:', tag.contents
#    print 'Attrs:', tag.attrs
    num = int(tag.contents[0])
    lst.append(num)
print sum(lst)

我收到了这样的消息:

C:\Python27\python.exe E:/python/coursera/following_links.py
23
0.8475
Traceback (most recent call 
  File "E:/python/coursera/following_links.py", line 1, in <module>
    import urllib
  File "C:\Python27\lib\urllib.py", line 30, in <module>
    import base64
  File "C:\Python27\lib\base64.py", line 98, in <module>
    _urlsafe_encode_translation = string.maketrans(b'+/', b'-_')
AttributeError: 'module' object has no attribute 'maketrans'

Process finished with exit code 1

WingIDE也出现同样的情况。

有趣的是,在使用python&#39; s Idle时,这个脚本可以正常工作。

它也适用于我的第二台装有Windows 8(64)的电脑(Python 2.7和PyCharm 2016.2)

1 个答案:

答案 0 :(得分:-1)

我认为这是在幕后发生的。为了执行您的命令,Python必须做一些工作,而不是找到它需要的文件。这也许可以解释为什么它可以在空闲和你的PC上工作,但不能在Wing IDE中工作。