Python में फ़ाइल पाथ्स के साथ काम करते समय, pathlib मॉड्यूल ऑब्जेक्ट-ओरिएंटेड तरीके से फ़ाइल पाथ्स को संभालने का एक बेहतरीन तरीका प्रदान करता है। फ़ाइल पाथ्स के लिए स्ट्रिंग मेनिपुलेशन का उपयोग करने की तुलना में यह एक सुधार है, जो त्रुटि-प्रवण और कम पठनीय हो सकता है:
from pathlib import Path
p = Path('.') # '.' वर्तमान निर्देशिका का प्रतिनिधित्व करता है
print(p, type(p)) # आपके ऑपरेटिंग सिस्टम के आधार पर, <class 'pathlib.PosixPath'> या <class 'pathlib.WindowsPath'>
आप / ऑपरेटर का उपयोग करके पाथ्स को जोड़ सकते हैं। उदाहरण के लिए, वर्तमान निर्देशिका में example.txt फ़ाइल को दर्शाने के लिए, आप यह कर सकते हैं:
file_path = p / 'example.txt' # एक नया पथ बनाता है
print(file_path) # example.txt
/ ऑपरेटर अंतर्निहित ऑपरेटिंग सिस्टम की परवाह किए बिना काम करता है और सही पाथ सेपरेटर का उपयोग करता है। ध्यान दें कि / ऑपरेटर वास्तव में Path क्लास में __truediv__() मैजिक मेथड है, जो Path ऑब्जेक्ट्स के साथ काम को बहुत सहज बनाता है।
Path ऑब्जेक्ट से पूर्ण पाथ प्राप्त करने के लिए, आप absolute() मेथड का उपयोग कर सकते हैं:
abs_path = file_path.absolute() # पूर्ण पथ प्राप्त करें
print(abs_path) # पूर्ण पथ प्रिंट करता है, जैसे Unix पर /home/user/example.txt या Windows पर C:\\user\\example.txt
Path क्लास में सामान्य कार्यों के लिए कई उपयोगी मेथड्स हैं:
Path.cwd(): वर्तमान कार्यशील निर्देशिका को एक नए Path ऑब्जेक्ट के रूप में लौटाता है
Path.home(): होम निर्देशिका को एक नए Path ऑब्जेक्ट के रूप में लौटाता है
Path.exists(): जाँचता है कि पाथ मौजूद है या नहीं
Path.is_file(): जाँचता है कि पाथ एक फ़ाइल है या नहीं
Path.is_dir(): जाँचता है कि पाथ एक निर्देशिका है या नहीं
Path.mkdir(): पाथ पर एक नई निर्देशिका बनाता है
Path.glob(): एक जनरेटर लौटाता है जो डायरेक्ट्री में सभी मिलान करने वाली फ़ाइलें देता है
आइए देखें कि इन मेथड्स में से कुछ का उपयोग कैसे किया जाता है:
print(Path.cwd()) # वर्तमान कार्यशील निर्देशिका प्रिंट करता है
print(Path.home()) # होम निर्देशिका प्रिंट करता है
if not file_path.exists(): # जाँचें कि फ़ाइल मौजूद है या नहीं
print(f'The file {file_path} does not exist.')
if file_path.is_file(): # जाँचें कि यह एक फ़ाइल है या नहीं
print(f'{file_path} is a file.')
new_dir = p / 'new_dir'
new_dir.mkdir(exist_ok=True) # एक नई निर्देशिका बनाएँ, यदि पहले से मौजूद है तो कुछ न करें
for file in p.glob('*.txt'): # वर्तमान निर्देशिका में सभी .txt फ़ाइलों पर इटेरेट करें
print(file)
ध्यान रखें कि p को अपने Path ऑब्जेक्ट से और 'example.txt' को अपनी फ़ाइल के नाम से उपयुक्त रूप से बदलें। pathlib मॉड्यूल Python में फ़ाइल और निर्देशिका संचालन के लिए एक शक्तिशाली उपकरण है।
चुनौती: सापेक्ष से पूर्ण पाथ
डिजिटल आर्काइव्स के आगमन ने बड़ी संख्या में दस्तावेज़ों के प्रबंधन को अधिक सुलभ बना दिया है। हालांकि, इन दस्तावेज़ों के पाथ्स का प्रबंधन कभी-कभी थोड़ा मुश्किल हो सकता है, विशेष रूप से जब सापेक्ष और पूर्ण पाथ्स के साथ काम करना हो। आप एक डिजिटल आर्काइव कंपनी में सॉफ़्टवेयर डेवलपर के रूप में काम करते हैं। आपका कार्य एक ऐसा प्रोग्राम बनाना है जो सापेक्ष पाथ्स को पूर्ण पाथ्स में बदल सके ताकि सही दस्तावेज़ ट्रैकिंग और पहुंच सुनिश्चित की जा सके।
एक सापेक्ष पाथ दिया गया है, आपका प्रोग्राम उसके संबंधित पूर्ण पाथ को प्रिंट करना चाहिए।
इनपुट की एकमात्र पंक्ति में एक सापेक्ष पाथ होता है।
आपके प्रोग्राम का आउटपुट इनपुट किए गए सापेक्ष पाथ के संबंधित पूर्ण पाथ होना चाहिए।