我使用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)
答案 0 :(得分:-1)
我认为这是在幕后发生的。为了执行您的命令,Python必须做一些工作,而不是找到它需要的文件。这也许可以解释为什么它可以在空闲和你的PC上工作,但不能在Wing IDE中工作。