0

私はPythonを学ぼうとしていて、モジュールを学ぼうとしていました。私が使用している Python のバージョンは Python 2.7.4 です。私が学ぼうとしていたモジュールは urllib でした。しかし、以下のコードを実行しようとすると、「要求という名前のインポートがありません」というエラーが表示されます。コードを以下に示します。

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

その後、エラーは発生しません。しかし、そのライブラリの機能を使用することはできません。

4

2 に答える 2

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()
于 2013-08-17T03:36:51.230 に答える
1

urllib.requestは Python 3 用です。Python 2 の場合は、次のようにします。

from urllib import urlopen

または、次のurllib2モジュールを使用します。

from urllib2 import urlopen

を取得するべきではありませんが、IndentationError軽微なエラーが発生した可能性があります。

于 2013-08-17T03:14:11.803 に答える