2012-04-22 1 views
32

Ich versuche, urllib.parse.urlencode() -Methode in einem meiner Skripte zu verwenden. Import urllibPython 3.2 Fehler sagen urllib.parse.urlencode() ist nicht definiert

#!/usr/bin/python3.2 

import urllib 

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

Es wurde vor der Arbeit, aber jetzt habe ich Fehler erhalten folgen.

Ausgabe

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' 

Zunächst bezweifle, dass ich meine Python-Shell, aber wenn ich es Python gesichtete Version 3.2, die fiine sollte verwendet.

Jetzt bin ich total perplex, warum sich Python Shell so verhält. Fehle ich hier etwas?

Dank

+0

@larsmans Dank für die Beantwortung. – Rakesh

Antwort

59

Sie sind nicht die Importe in Ihrem Programm zeigen, so kann ich nicht sicher sein, aber ich wette, Sie

tatest
import urllib 

, die nicht importiert wird die separaten reexportieren Modul urllib.parse. Do

import urllib.parse 

statt.

(import urllib ist ziemlich sinnlos, in Python 3.x, da die gesamte Funktionalität der Submodule ist und diese vom Toplevel-Modul nicht importiert.)

+0

danke für die Antwort. Entschuldigung, ich hatte die Import-Anweisung beim Kopieren des Codes verpasst. Jetzt habe ich meine Frage bearbeitet. Sie Lösung für mich gearbeitet. Ich vermute zufällig, ich entfernte _.parse_ Teil aus meiner Import-Anweisung unter der Annahme, dass es Submodul enthalten wird. Da ich früher urllib.parse importieren musste, funktionierte es früher, aber als ich das Submodul löschte, funktionierte es nicht und ich war verwirrt. – Rakesh

Verwandte Themen