जवाबों:
का उपयोग करें urllib.urlencode()
। यह कुंजी-मूल्य जोड़े का एक शब्दकोश लेता है, और इसे एक URL (जैसे, key1=val1&key2=val2
) के लिए उपयुक्त रूप में परिवर्तित करता है ।
यदि आप पायथन 3 का उपयोग कर रहे हैं, तो उपयोग करें urllib.parse.urlencode()
यदि आप दोहराव वाले params जैसे URL बनाना चाहते हैं जैसे: p=1&p=2&p=3
आपके पास दो विकल्प हैं:
>>> import urllib
>>> a = (('p',1),('p',2), ('p', 3))
>>> urllib.urlencode(a)
'p=1&p=2&p=3'
या यदि आप दोहराए गए params के साथ एक यूआरएल बनाना चाहते हैं:
>>> urllib.urlencode({'p': [1, 2, 3]}, doseq=True)
'p=1&p=2&p=3'
doeseq
इसके बारे में क्या है: "यदि क्वेरी arg में कोई भी मान अनुक्रम और डोज़क सही है, तो प्रत्येक अनुक्रम तत्व एक अलग पैरामीटर में परिवर्तित हो जाता है।"
तीसरे पक्ष के पायथन url हेरफेर लाइब्रेरी फर्ल का उपयोग करें :
f = furl.furl('')
f.args = {'a':'A', 'b':'B'}
print(f.url) # prints ... '?a=A&b=B'
यदि आप दोहराव वाले पैरामीटर चाहते हैं, तो आप निम्न कार्य कर सकते हैं:
f = furl.furl('')
f.args = [('a', 'A'), ('b', 'B'),('b', 'B2')]
print(f.url) # prints ... '?a=A&b=B&b=B2'
pip install furl
इसका मानक पुस्तकालय का हिस्सा नहीं है
यह मेरे लिए थोड़ा अधिक पायथोनिक लगता है, और किसी अन्य मॉड्यूल का उपयोग नहीं करता है:
x = '&'.join(["{}={}".format(k, v) for k, v in {'a':'A', 'b':'B'}.items()])