Python urllib.request和urllib2都不工作
我试图学习Python,我试图学习模块。我使用的Python版本是Python 2.7.4。我试图学习的模块是urllib。但是,每当我试图运行下面的代码时,就会出现一个名为“no import named request”的错误。代码如下所示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)
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()