2012-04-22 6 views
32

私のスクリプトの1つでurllib.parse.urlencode()メソッドを使用しようとしています。 インポートはpython 3.2 urllib.parse.urlencode()が定義されていないとエラーが発生しました

#!/usr/bin/python3.2 

import urllib 

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

urllibはそれは前に働いていたが、今、私はエラーを次取得します。

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を使用しているときにチェックfiineであるべきです。

今、私は完全になぜpythonシェルがこのように動作しているのですか。 ここに何か不足していますか?

おかげ

+0

応答するため@larsmansのおかげ。返信ありがとうございます。 – Rakesh

答えて

59

あなたは、あなたのプログラムで輸入を示していないので、私は確認することはできませんが、私はあなたが別のをインポートし、再輸出しないだろう

import urllib 

をした賭けモジュールurllib.parse。 Do

import urllib.parse 

(すべての機能は、サブモジュールであり、これらは、トップレベルのモジュールによってインポートされないのでimport urllibは、Pythonの3.xのではなく無意味である。)

+0

申し訳ありませんが、コードのコピー中にインポートステートメントが欠落していました。今私は私の質問を編集しました。 あなたのソリューションは私のために働いた。私は間違いなく、サブモジュールを含めると仮定して、import文から_parse_partを削除しました。以前は私が以前に働いていた理由は、urllib.parseをインポートしていましたが、サブモジュールを削除するとうまくいかず、混乱しました。 – Rakesh

関連する問題