当我尝试在 Python 2.7.4 中使用此代码时:
import urllib.request
class App():
def main(self):
inp = raw_input('Please enter a string\n')
print(inp)
inp = input('Please enter a value\n')
print(inp)
if __name__ == '__main__':
App().main()
我收到一条错误消息,提示“不导入命名请求”。 如果我改为写
import urllib
,那么我不会收到任何导入错误,但我无法使用该功能。
urllib.request
适用于 Python 3。对于 Python 2,您需要执行以下操作:
from urllib import urlopen
urllib2
模块:
from urllib2 import urlopen
您不应该得到
IndentationError
,但您可能犯了一些小错误。
这是 python2.7 的简单沙箱实现:
import urllib
def main():
#one indentation level
print urllib.urlopen("http://stackoverflow.com").read ()
if __name__ == '__main__': main()
如果此代码运行而您的代码不能运行,则问题不在于导入/使用 urllib。它在我的机器上使用 pthon2.7.4 运行。
替代版本:
from urllib import urlopen
def main():
#one indentation level
print urlopen("http://stackoverflow.com").read ()
if __name__ == '__main__': main()
或使用您的应用程序类:
import urllib
class App:
def main(self):
print urllib.urlopen("http://stackoverflow.com").read ()
if __name__ == '__main__':
App().main()