33

スクリプトの 1 つで urllib.parse.urlencode() メソッドを使用しようとしています。urllib をインポート

#!/usr/bin/python3.2

import urllib

data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891})

以前は機能していましたが、現在は次のエラーが発生します。

出力

Traceback (most recent call last):
  File "/home/rakesh/programming/test.py", line 8, in <module>
    data = urllib.parse.urlencode({'type': 'device_code','client_id': 150792241632891})
AttributeError: 'module' object has no attribute 'parse'

最初は自分のpythonシェルを疑っていましたが、確認したところ、pythonバージョン3.2を使用していて、これは問題ないはずです。

なぜPythonシェルがこのように振る舞うのか、私は完全に困惑しています。ここで何か不足していますか?

ありがとう

4

1 に答える 1

60

プログラムにインポートが表示されていないので、わかりませんが、表示されたに違いありません。

import urllib

別のモジュールをインポートおよび再エクスポートしませんurllib.parse。行う

import urllib.parse

代わりは。

import urllibPython 3.xでは、すべての機能がサブモジュールにあり、これらはトップレベルモジュールによってインポートされないため、意味がありません。)

于 2012-04-22T14:56:15.003 に答える