2012-04-22 9 views
32

मैं अपनी स्क्रिप्ट में urllib.parse.urlencode() विधि का उपयोग करने की कोशिश कर रहा हूं। आयात urllibपायथन 3.2 त्रुटि कह रही है urllib.parse.urlencode() को परिभाषित नहीं किया गया है

#!/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' 

शुरू में मैं अपने अजगर खोल शक लेकिन जब मैं यह अजगर संस्करण 3.2 उपयोग कर रहा है की जाँच की fiine होना चाहिए जो।

अब मैं पूरी तरह से परेशान हूं क्यों पाइथन खोल इस तरह से व्यवहार कर रहा है। क्या मुझे यहां कुछ याद आ रही है?

धन्यवाद

+0

जवाब देने के लिए @larsmans धन्यवाद। जवाब देने के लिए – Rakesh

उत्तर

59

आप अपने प्रोग्राम में आयात नहीं दिखा रहे हैं, तो मुझे यकीन है कि नहीं किया जा सकता है, लेकिन मुझे यकीन है कि आप

import urllib 

जो आयात नहीं करेगा और फिर से निर्यात अलग किया मॉड्यूल urllib.parse

import urllib.parse 

इसके बजाय।

(के बाद से सभी कार्यक्षमता submodules में है और इन उच्चस्तरीय मॉड्यूल द्वारा आयात नहीं किया जाता import urllib, बल्कि अजगर 3.x में बेहोश है।)

+0

धन्यवाद। क्षमा करें कोड को कॉपी करते समय मुझे आयात विवरण याद आया था। अब मैंने अपना प्रश्न संपादित कर लिया है। आपने समाधान मेरे लिए काम किया है। मुझे लगता है कि गलती से, मैंने अपने आयात विवरण से _.parse_ भाग हटा दिया है जिसमें यह माना जाता है कि इसमें सबमिशन शामिल होगा। चूंकि पहले मैंने urllib.parse आयात किया था, यही कारण है कि यह पहले क्यों काम कर रहा था, लेकिन जब मैं सबमिशन को हटा देता था तो यह काम नहीं करता था और मैं उलझन में था। – Rakesh

संबंधित मुद्दे