"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > ओएस.वॉक() फ़ंक्शन का उपयोग करके पायथन में फ़ोल्डर सामग्री को पुनरावर्ती रूप से कैसे पढ़ें?

ओएस.वॉक() फ़ंक्शन का उपयोग करके पायथन में फ़ोल्डर सामग्री को पुनरावर्ती रूप से कैसे पढ़ें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:435

How to Recursively Read Folder Contents in Python Using the os.walk() Function?

पायथन में फ़ोल्डर सामग्री को पुनरावर्ती रूप से पढ़ना

पायथन में, पाठ फ़ाइलों को पढ़ने के लिए निर्देशिकाओं को पुनरावर्ती रूप से पार करने का प्रयास करते समय आपको समस्याएं आ सकती हैं। एक सामान्य समस्या कोड है जो केवल एक निर्देशिका स्तर के लिए कार्य करता है।

os.walk फ़ंक्शन को समझना

पायथन में पुनरावर्ती फ़ोल्डर ट्रैवर्सल का मूल ओएस में निहित है .walk() फ़ंक्शन। यह एक निर्दिष्ट निर्देशिका और उसकी उपनिर्देशिकाओं पर पुनरावृत्त होता है, तीन मान लौटाता है: रूट, उपदिशाएं, और फ़ाइलें। निर्देशिका.

    फ़ाइलें: वर्तमान में फ़ाइलें (निर्देशिका नहीं)। निर्देशिका।
  • फ़ोल्डर ट्रैवर्सल को अनुकूलित करना
निर्देशिकाओं को पुनरावर्ती रूप से ट्रैवर्स करने के लिए, आपको os.walk() द्वारा लौटाई गई उपनिर्देशिकाओं की सूची के माध्यम से पुनरावृत्त करना चाहिए। प्रत्येक उपनिर्देशिका के लिए, आप उसकी सामग्री को संसाधित करने के लिए os.walk() को पुनरावर्ती रूप से कॉल कर सकते हैं।

बेहतर पायथन कोड

उदाहरण कोड को एकाधिक निर्देशिका को संभालने के लिए संशोधित किया जा सकता है स्तर:

आयात ओएस आयात sys walk_dir = sys.argv[1] os.walk(walk_dir) में रूट, सबडिर्स, फाइलों के लिए: उपदिर में उपदिर के लिए: # प्रक्रिया उपनिर्देशिका: उपदिर के लिए os.walk() को पुनरावर्ती रूप से कॉल करें सब_सबडिर, सब_सबफाइल्स, _ के लिए ओएस.वॉक में (ओएस.पाथ.जॉइन(रूट, सबडिर)): # उपनिर्देशिका में उपनिर्देशिकाओं और फ़ाइलों को संसाधित करें

अतिरिक्त सर्वोत्तम अभ्यास
import os
import sys

walk_dir = sys.argv[1]

for root, subdirs, files in os.walk(walk_dir):
    for subdir in subdirs:
        # Process subdirectory: call os.walk() recursively for subdir
        for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
            # Process subdirectories and files in subdirectory

मैन्युअल स्ट्रिंग हेरफेर के बजाय पथ संयोजन के लिए os.path.join() का उपयोग करें।के लिए os.path.abspath() का उपयोग करके स्क्रिप्ट तर्कों को निरपेक्ष पथों में परिवर्तित करने पर विचार करें स्थिरता।

    फ़ाइल प्रबंधन को सरल बनाने और स्वचालित सफाई सुनिश्चित करने के लिए with कथन का उपयोग करें।
विज्ञप्ति वक्तव्य इस लेख को पुन: पेश किया गया है: 1729233616 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3