का उपयोग कर क्वेरी स्ट्रिंग बनाएं, मैं एक यूआरएल बनाने की कोशिश कर रहा हूं ताकि मैं urllib
मॉड्यूल का उपयोग करके इसे प्राप्त कर सकूं।urlencode python
>>> initial_url = "http://www.stackoverflow.com"
>>> search = "Generate+value"
>>> params = {"data":initial_url,"search":search}
>>> query_string = urllib.urlencode(params)
>>> query_string
'search=Generate%2Bvalue&data=http%3A%2F%2Fwww.stackoverflow.com'
अब अगर आप मेरी query_string
final_url
आप कर सकते हैं पर्यवेक्षक दो चीजों के प्रारूप के साथ तुलना करें:
मेरी final_url
होना चाहिए
url = "www.example.com/find.php?data=http%3A%2F%2Fwww.stackoverflow.com&search=Generate+value"
अब मैं निम्नलिखित तरीके से करने की कोशिश की इस लक्ष्य को हासिल करने के लिए मान लें चलो
1) पैरामीटर का क्रम data=()&search=
के बजाय उलट दिया गया है यह 012 है
2) urlencode
भी Generate+value
में +
इनकोडिंग मेरा मानना है कि पहला परिवर्तन शब्दकोश के यादृच्छिक व्यवहार के कारण है। तो, मैं OrderedDict
to reverse the dictionary का उपयोग करने के बावजूद। के रूप में, मैं python 2.6.5
उपयोग कर रहा हूँ मैं
pip install ordereddict
किया लेकिन मैं अपने कोड में उपयोग करने में सक्षम है जब मैं
>>> od = OrderedDict((('a', 'first'), ('b', 'second')))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'OrderedDict' is not defined
कोशिश नहीं कर रहा हूँ तो, मेरे सवाल में OrderedDict
उपयोग करने के लिए सही तरीका क्या है क्या है पायथन 2.6.5 और मैं urlencode
में +
को कैसे अनदेखा कर सकता हूं।
इसके अलावा, URL
बनाने के लिए यह सही दृष्टिकोण है।
मैंने 'संग्रह आयात ऑर्डर्ड डिक्ट' से कोशिश की लेकिन अब मुझे 'आयात त्रुटि: नाम ऑर्डर्ड डिक्ट' आयात नहीं हो रहा है। मैं पाइथन '2.6.5' – RanRag
का उपयोग कर रहा हूं यह पैटन 2.4 से उपलब्ध होना चाहिए। यदि आप 'आयात संग्रह' निष्पादित करते हैं तो आपको क्या मिलता है? –
मैं सफलतापूर्वक संग्रह आयात कर सकता हूं कोई त्रुटि फेंक दी गई है। हालांकि, 'ऑर्डर्ड डिक्ट' को अजगर 2.7 के बाद से पेश किया गया था। – RanRag