如何在 Python 2 中使用 urllib.request?

问题描述 投票:0回答:2

当我尝试在 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
,那么我不会收到任何导入错误,但我无法使用该功能。

python python-2.7 import module
2个回答
1
投票

urllib.request
适用于 Python 3。对于 Python 2,您需要执行以下操作:

from urllib import urlopen

或使用

urllib2
模块:

from urllib2 import urlopen

您不应该得到

IndentationError
,但您可能犯了一些小错误。


1
投票

这是 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()
© www.soinside.com 2019 - 2024. All rights reserved.