我正在尝试学习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
然后它说'IndentationError:期望一个缩进的块'。但如果我写
import urllib
然后我没有得到任何错误。但后来我无法使用该库的任何功能。
答案 0 :(得分:1)
urllib.request
适用于Python 3.对于Python 2,您需要执行以下操作:
from urllib import urlopen
或使用urllib2
模块:
from urllib2 import urlopen
你不应该得到IndentationError
,但你可能做了一些小错误。
答案 1 :(得分: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()
或使用您的App-Class:
import urllib
class App:
def main(self):
print urllib.urlopen("http://stackoverflow.com").read ()
if __name__ == '__main__':
App().main()