पायथन में os.walk() के साथ निर्देशिकाओं को पुनरावर्ती रूप से नेविगेट करना
अधिक संरचित निर्देशिका सूची बनाने की मांग करते हुए, एक डेवलपर ने अपने कोड को संशोधित करने का प्रयास किया निर्देशिकाओं को बड़े अक्षरों में शीर्षकों के रूप में प्रदर्शित करने के लिए, उनके नीचे गहराई और फ़ाइलों को दर्शाने वाली धराशायी रेखाओं के साथ। हालाँकि, उनके प्रारंभिक दृष्टिकोण से अधूरे परिणाम मिले।
इस चुनौती का समाधान करने के लिए, हम पथ घटकों को सही ढंग से चित्रित करने के लिए पायथन की os.sep विशेषता का उपयोग कर सकते हैं। यहां एक बेहतर समाधान है:
#!/usr/bin/python import os # traverse root directory, and list directories as dirs and files as files for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
इस संशोधित कोड में, हमने डिलीमीटर के रूप में os.sep का उपयोग करके पथ को विभाजित किया है, जो विंडोज और यूनिक्स फ़ाइल सिस्टम दोनों को समायोजित करता है। पथ की लंबाई से 1 घटाकर, हम वर्तमान स्तर की गहराई प्राप्त कर सकते हैं और उचित संख्या में धराशायी रेखाओं को प्रदर्शित कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3