Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python os.path.join: शुरुआती गाइड

Python os.path.join मेथड एक या अधिक पथ नामों को एकल पथ में जोड़ता है। इस मेथड का उपयोग अक्सर os.walk() जैसे os मेथड्स के साथ फाइल या फोल्डर के लिए अंतिम पथ बनाने के लिए किया जाता है। os.path.join() स्वचालित रूप से फ़ाइल पथ नाम में आवश्यक फॉरवर्ड स्लैश जोड़ता है।

Python os.path.join का उपयोग कैसे करें

जब आप Python में फ़ाइलों के साथ काम कर रहे होते हैं तो आप पथ भूलभुलैया में फंस सकते हैं।

फ़ाइलों के साथ काम करने के लिए, आपको उस निर्देशिका को निर्दिष्ट करने की आवश्यकता होती है जिसमें एक फ़ाइल दिखाई देती है। यह सुनने में जितना आसान लगता है उससे कहीं अधिक आसान है। यदि आप सही पथ निर्दिष्ट नहीं करते हैं, तो आपका प्रोग्राम काम नहीं करेगा।

इस गाइड में, हम os.path.join के बारे में बात करने जा रहे हैं। यह एक मेथड है जो फ़ाइल पथ के घटकों को एक पूर्ण पथ में जोड़ता है। हम आपको इस मेथड के साथ शुरुआत करने में मदद करने के लिए दो उदाहरणों के माध्यम से चलेंगे।

फ़ाइल पथ में क्या होता है?

एक फ़ाइल पथ फ़ाइल और फ़ोल्डर नामों का एक क्रम है। नामों का यह क्रम आपको आपके कंप्यूटर के ऑपरेटिंग सिस्टम (OS) पर एक निश्चित स्थान पर ले जाता है।

आइए निम्न पथ को एक उदाहरण के रूप में लें:

/Users/James/tutorials

यह पथ हमें "tutorials" नामक फ़ोल्डर में ले जाता है। यदि हम इस फ़ोल्डर में किसी विशेष फ़ाइल या निर्देशिका तक पहुंचना चाहते हैं, तो हम उसके फ़ाइल नाम का उपयोग करके उस तक पहुंच सकते हैं:

/Users/James/tutorials/README.md

आप इन फ़ाइल पथों को Python में मैन्युअल रूप से लिख सकते हैं। ऐसा करना अव्यावहारिक हो सकता है। यहीं पर os.path.join आता है।

Python os.path.join क्या है?

os.path.join पथ नामों को एक पूर्ण पथ में जोड़ता है। इसका मतलब है कि आप मैन्युअल रूप से हर पथ नाम को हार्ड-कोड करने के बजाय पथ के कई भागों को एक में मर्ज कर सकते हैं।

इस फ़ंक्शन का उपयोग करने के लिए, आपको अपने कोड में os लाइब्रेरी आयात करने की आवश्यकता है:

import os

आइए os.path.join() मेथड के सिंटैक्स पर एक नज़र डालें। os.path.join फ़ंक्शन उन पथों की सूची स्वीकार करता है जिन्हें आप एक में मर्ज करना चाहते हैं:

os.path.join(path1, path2...)

path1, path2, और बाद के सभी मान उन पथों को दर्शाते हैं जिन्हें आप एकल नाम में जोड़ना चाहते हैं।

path = os.path.join("/Users/James/tutorials", "index.html")
print(path)

यह कोड लौटाता है: /Users/James/tutorials/index.html। os.path.join मेथड उस निरपेक्ष पथ घटक से जारी रहता है जिसे हमने निर्दिष्ट किया है ("/Users/James/tutorials")। हम पथ के अंत में index.html जोड़ते हैं।

आसानी से, os.path.join मेथड जब आवश्यक हो तो फॉरवर्ड स्लैश (जिन्हें "डायरेक्टरी सेपरेटर" कहा जाता है) डालता है। यह मैन्युअल रूप से उन्हें जोड़ने की तुलना में फ़ाइल पथ नामों को जोड़ने का एक अधिक सुविधाजनक तरीका बनाता है।

os.path.join Python उदाहरण

आइए "tutorials/web/" फ़ोल्डर में फ़ाइल नाम "index.html" को जोड़ें। यह फ़ाइल हमारे वर्तमान कार्य निर्देशिका के अंदर है।

हम os लाइब्रेरी आयात करके शुरू करेंगे:

import os

अगला, हम अपनी वर्तमान कार्य निर्देशिका प्राप्त करने जा रहे हैं ताकि हम अपना फ़ाइल पथ नाम इसमें जोड़ सकें:

cwd = os.getcwd()

यह हमारी वर्तमान कार्य निर्देशिका लौटाता है, जो /Users/James/tutorials है। "tutorials" फ़ोल्डर हमारे उपयोगकर्ता की होम निर्देशिका के अंदर है। हम इस जानकारी का उपयोग अपने कार्य निर्देशिका के अंत में "tutorials/web" जोड़ने के लिए कर सकते हैं:

web_tutorials = os.path.join(cwd, "tutorials/web")
print(web_tutorials)

यह कोड लौटाता है: /Users/James/tutorials/web। हमारे कोड ने हमारे पथ नाम घटकों को एक में जोड़ दिया है। हमारे पथ नामों के बीच एक फॉरवर्ड स्लैश ("/") जोड़ा गया है। यह पथ हमारी मौजूदा पथ में "web" फ़ोल्डर को संदर्भित करता है।

Python os.path.join: फ़ाइलें सूचीबद्ध करें

आइए os.path.join मेथड का उपयोग करके किसी फ़ोल्डर में सभी फ़ाइलों के पूर्ण फ़ाइल पथ लौटाएं। हम अपने फ़ाइल सिस्टम पर "Desktop" फ़ोल्डर में सभी फ़ाइलों को सूचीबद्ध करने जा रहे हैं। यह फ़ोल्डर ड्राइव पर "/Users/James/" निर्देशिका में स्थित है।

हम os लाइब्रेरी आयात करके और उस निर्देशिका को परिभाषित करके शुरू करेंगे जिसे हम खोजना चाहते हैं:

import os
cwd = os.getcwd()
desktop = os.path.join(cwd, "Desktop")

यह कोड हमारी वर्तमान कार्य निर्देशिका के सापेक्ष Desktop फ़ोल्डर के लिए फ़ाइल पथ उत्पन्न करता है। अगला, हम इस फ़ोल्डर में सभी फ़ाइलों की सूची प्राप्त करने के लिए Python os.listdir() मेथड का उपयोग कर सकते हैं:

files = os.listdir(desktop)

यह मेथड Desktop फ़ोल्डर में दिखाई देने वाली सभी फ़ाइलों के नामों की एक सूची लौटाता है। इसमें फ़ाइलों के पथ शामिल नहीं हैं। अब जब हमारे पास फ़ाइलों की यह सूची है, तो हम उन सभी को कंसोल पर प्रिंट कर सकते हैं। हम os.path.join और Python फॉर लूप का उपयोग करके प्रत्येक फ़ाइल के लिए पूर्ण फ़ाइल पथ प्रिंट करने जा रहे हैं:

for f in files:
    print(os.path.join(desktop, f))

यह कोड Desktop फ़ोल्डर में सभी फ़ाइलों के माध्यम से लूप करता है। यह प्रत्येक फ़ाइल के नाम को Desktop फ़ोल्डर के पथ नाम के साथ जोड़ता है। हमारा कोड लौटाता है:

/Users/James/Desktop/.DS_Store
/Users/James/Desktop/Notes.md
/Users/James/Desktop/To-dos.md

मेरे डेस्कटॉप पर तीन फ़ाइलें हैं: .DS_Store, Notes.md, और To-dos.md। हमने प्रत्येक फ़ाइल के पूर्ण पथ उत्पन्न करने के लिए os.path.join() का उपयोग किया।

निष्कर्ष

os.path.join मेथड एक पूर्ण पथ नाम बनाने के लिए पथ नाम में घटकों को जोड़ता है।

यह मेथड पथ नाम के दो या अधिक घटकों को जोड़ना आसान बनाता है। Os.path.join स्वचालित रूप से फॉरवर्ड स्लैश ("/") को पथ नाम में डालता है जब आवश्यक हो।

यदि आप Python प्रोग्रामिंग भाषा के बारे में अधिक जानना चाहते हैं, तो हमारा How to Learn Python गाइड देखें।

  1. - पायथन में पथ सरलीकरण

    मान लीजिए हमारे पास एक फ़ाइल के लिए एक पूर्ण पथ है (जैसे यूनिक्स फ़ाइल सिस्टम), हमें इसे सरल बनाना है। दूसरे शब्दों में, हमें इसे कैनोनिकल पथ में बदलना है। यूनिक्स-शैली की फ़ाइल प्रणाली में, एक बिंदु . वर्तमान निर्देशिका को संदर्भित करता है। और एक दोहरा बिंदु .. निर्देशिका को एक स्तर ऊपर ले जाता है

  1. पायथन में पथ योग पायथन में पथ योग

    मान लीजिए हमारे पास एक ट्री और एक योग है। हमें एक ऐसा पथ ढूंढना है जिससे यदि हम उस पथ का अनुसरण करें, तो हमें वह योग मिलेगा जो दिए गए योग से मेल खाता हो। मान लीजिए ट्री [0,-3,9,-10, null,5] जैसा है और योग 14 है, तो एक पथ 0 → 9 → 5 है। हल करने के चरण यदि रूट null है, तो False वापस करें यदि बायां औ

  1. - पायथन में join() फ़ंक्शन

    इस लेख में, हम सीखेंगे कि पायथन 3.x (या पूर्व संस्करणों) में join() फ़ंक्शन को कैसे लागू किया जा सकता है। आइए सूची इटरेबल पर सबसे सामान्य कार्यान्वयन देखें। यहाँ हम एक डिलीमीटर के माध्यम से सूची के तत्वों को जोड़ते हैं। एक डिलीमीटर कोई भी वर्ण या कुछ भी नहीं हो सकता है। उदाहरण से जोड़ता है print