1

我正在尝试使用 urllib 获取网页。我正在使用 Python 3.3 和 Sublime Text 2 执行以下代码时遇到问题

import os
from urllib.request import urlopen
remoteaddr = 'http://paulgraham.com/fr.html'
remotefile = urlopen(remoteaddr)
remotedata = remotefile.readlines()
remotefile.close()
for line in remotedata:
    print(line)

它产生以下错误

Traceback (most recent call last):
  File "..\Documents\Pydev\ftp\test.py", line 2, in <module>
    from urllib.request import urlopen
ImportError: bad magic number in 'urllib': b'\x03\xf3\r\n'
[Finished in 0.1s with exit code 1]

如果我使用 Aptana 运行代码,它可以正确执行,我更愿意为我的开发人员使用 ST2,关于问题可能是什么的任何想法?我已将 ST2 添加到防火墙中允许的程序中。

4

1 回答 1

1

似乎您的 urllib.py 编译为错误的 python 版本。放弃它是如何实现的,因为 urrlib 是普通的 python 文件,尝试urllib.pycPython/lib文件夹中删除,看看它是否有帮助。

更新

收起是错误的。我想到 Sublime Text 2,虽然完全没有在你的代码片段中使用,但在 Python 2(实际上是 python 2.6)下工作,它的 windows 包包含编译的 urllib。所以很明显,来自 Sublime 的 urllib 正在被导入。

因此,正确的做法将迁移到 Sublime Text 3(测试版)。其他选项可能已经降级到 python 2.6,但从 python 和 windows 版本来看,您似乎会选择升级。

于 2013-11-06T20:41:02.020 回答