Python urllib2中的语法问题?

1 投票
1 回答
3617 浏览
提问于 2025-04-17 23:22

我正在尝试测试 urllib2。以下是我的代码:

import urllib2
response = urllib2.urlopen('http://pythonforbeginners.com/')
print response.info()
html = response.read()
response.close()

当我运行这段代码时,出现了:

语法错误:无效的语法。错误指向第3行(也就是打印那一行)。你知道这是怎么回事吗?我只是想跟着教程做,这是他们首先要做的事情……

谢谢,

Mariogs

1 个回答

3

在Python3中,print是一个函数。所以在使用时需要把它的参数放在括号里:

print(response.info())

而在Python2中,print是一个语句,因此不需要括号。


在你修正了语法错误之后,正如alecxe所提到的,你可能会遇到一个导入错误(ImportError)。这是因为Python2中的一个模块叫做urllib2,在Python3中被改名为urllib.request。所以你需要把它改成

import urllib.request as request
response = request.urlopen('http://pythonforbeginners.com/')

如你所见,你正在阅读的教程是针对Python2的。你可能想找一个Python3教程或者Python3 urllib使用指南,这样可以避免遇到更多类似的问题。

撰写回答