Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python urllib.request和urllib2都不工作_Python_Python 2.7_Import_Module - Fatal编程技术网

Python urllib.request和urllib2都不工作

Python urllib.request和urllib2都不工作,python,python-2.7,import,module,Python,Python 2.7,Import,Module,我试图学习Python,我试图学习模块。我使用的Python版本是Python 2.7.4。我试图学习的模块是urllib。但是,每当我试图运行下面的代码时,就会出现一个名为“no import named request”的错误。代码如下所示 import urllib.request class App(): def main(self): inp = raw_input('Please enter a string\n') print(inp)

我试图学习Python,我试图学习模块。我使用的Python版本是Python 2.7.4。我试图学习的模块是urllib。但是,每当我试图运行下面的代码时,就会出现一个名为“no import named request”的错误。代码如下所示

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()
然后我尝试使用urllib2。所以我把第一行改成了

import urllib2
但它会说“缩进错误:预期为缩进块”。但是如果我写

import urllib

那我就不会有任何错误了。但是我不能使用该库的任何函数。

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

from urllib import urlopen
或使用模块:


您不应该得到
缩进错误
,但可能发生了一些小错误。

这里是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()
或使用您的:


@eddard.stark当你得到
缩进错误时,你能编辑你的问题并给我看确切的代码吗?@eddard.stark是的,
pass
关键字缩进得太多。
App().main()
也缩进得太多。@Haidro,第一个代码我没有任何缩进错误。我得到该代码的导入错误。我已经检查并再次检查了第二个代码。那里没有缩进错误。Ideone只是显示错误。伙计们,我没有得到任何缩进错误的第一个代码。我收到该代码的导入错误。文件名为urllib.py。这是一个问题吗?为什么?我应该给它起什么名字?基本上你是在尝试导入你自己。请将其命名为除要导入的另一个模块的名称以外的任何名称,例如
rhaberkuchen.py
。非常感谢。谢谢你的帮助。很高兴帮忙。我的一个初级程序员陷入了完全相同的陷阱,我们花了相当长的时间才发现错误,因为没有人期望他像他使用的模块那样命名他的文件。
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()