আমি জানি এটি ওপি যা চেয়েছিল তার চেয়ে কিছুটা বেশি, তবে আমার কাছে টুকরোটি নীচের ইউআরএলটিতে ছিল এবং আমি তাদের সাথে যোগ দেওয়ার একটি সহজ উপায় খুঁজছিলাম:
>>> url = 'https://api.foo.com/orders/bartag?spamStatus=awaiting_spam&page=1&pageSize=250'
চারপাশে কিছু খুঁজছেন:
>>> split = urlparse.urlsplit(url)
>>> split
SplitResult(scheme='https', netloc='api.foo.com', path='/orders/bartag', query='spamStatus=awaiting_spam&page=1&pageSize=250', fragment='')
>>> type(split)
<class 'urlparse.SplitResult'>
>>> dir(split)
['__add__', '__class__', '__contains__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__getstate__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_asdict', '_fields', '_make', '_replace', 'count', 'fragment', 'geturl', 'hostname', 'index', 'netloc', 'password', 'path', 'port', 'query', 'scheme', 'username']
>>> split[0]
'https'
>>> split = (split[:])
>>> type(split)
<type 'tuple'>
সুতরাং ইতিমধ্যে অন্যান্য উত্তরে উত্তর দেওয়া হয়েছে সেই পথে যোগ দেওয়ার পাশাপাশি, আমি যা খুঁজছিলাম তা পাওয়ার জন্য আমি নিম্নলিখিতটি করেছি:
>>> split
('https', 'api.foo.com', '/orders/bartag', 'spamStatus=awaiting_spam&page=1&pageSize=250', '')
>>> unsplit = urlparse.urlunsplit(split)
>>> unsplit
'https://api.foo.com/orders/bartag?spamStatus=awaiting_spam&page=1&pageSize=250'
ডকুমেন্টেশন অনুযায়ী একটি 5 অংশের টিউপল লাগে।
নিম্নলিখিত টিপল বিন্যাস সহ:
স্কিম 0 ইউআরএল স্কিম নির্দিষ্টকরণকারী খালি স্ট্রিং
নেটলোক 1 নেটওয়ার্ক অবস্থান অংশ খালি স্ট্রিং
পাথ 2 শ্রেণিবদ্ধ পথ খালি স্ট্রিং
ক্যোরি 3 ক্যোয়ারী উপাদান খালি স্ট্রিং
টুকরা 4 খণ্ড শনাক্তকারী খালি স্ট্রিং
os.path.join
কাজ করবে না. তবে কেবল/
চরিত্রটিতে যোগ দেওয়া সমস্ত ক্ষেত্রে কাজ করা উচিত -/
এটি নির্দিষ্টকরণের জন্য এইচটিটিপি-র স্ট্যান্ডার্ড পাথ বিভাজক।