पायथन वापरून डिरेक्टरीमधील सर्व फायलींची यादी कशी करावी आणि त्यांना सूचीमध्ये कसे जोडावे

पायथन वापरून डिरेक्टरीमधील सर्व फायलींची यादी कशी करावी आणि त्यांना सूचीमध्ये कसे जोडावे
पायथन वापरून डिरेक्टरीमधील सर्व फायलींची यादी कशी करावी आणि त्यांना सूचीमध्ये कसे जोडावे

Python मध्ये निर्देशिका फाइल सूची

डायरेक्टरीमध्ये सर्व फाइल्स सूचीबद्ध करणे हे पायथन प्रोग्रामिंगमध्ये एक सामान्य कार्य आहे, मग तुम्ही फाइल्स आयोजित करत असाल, डेटावर प्रक्रिया करत असाल किंवा कार्ये स्वयंचलित करत असाल. पायथन हे सहज आणि कार्यक्षमतेने पूर्ण करण्यासाठी अनेक पद्धती प्रदान करते.

या लेखात, आम्ही पायथन वापरून डिरेक्टरीमधील सर्व फायली सूचीबद्ध करण्याचे विविध मार्ग आणि त्यांना सूचीमध्ये कसे जोडायचे ते शोधू. शेवटी, तुम्हाला तुमच्या Python प्रोजेक्ट्समध्ये प्रोग्रॅमॅटिक पद्धतीने निर्देशिका सामग्री कशी व्यवस्थापित करायची याची स्पष्ट समज असेल.

आज्ञा वर्णन
os.walk(directory_path) डिरेक्टरी ट्रीमध्ये वर-खाली किंवा खाली-वर चालून फाइलची नावे व्युत्पन्न करते.
os.path.join(root, file) आवश्यक निर्देशिका विभाजक जोडून, ​​एक किंवा अधिक पथ घटक बुद्धिमानपणे सामील होतात.
Path(directory_path) फाइल सिस्टम पथ हाताळण्यासाठी विविध पद्धती प्रदान करून, निर्दिष्ट निर्देशिकेच्या मार्गासाठी पथ ऑब्जेक्ट तयार करते.
path.rglob('*') निर्देशिकेतील निर्दिष्ट नमुन्याशी जुळणाऱ्या सर्व विद्यमान फायली आवर्तीपणे प्राप्त होतात.
file.is_file() जर पथ नियमित फाइल असेल (निर्देशिका किंवा सिमलिंक नाही) तर खरे मिळवते.
str(file) पाथ ऑब्जेक्टला फाईल पाथच्या स्ट्रिंग प्रतिनिधित्वामध्ये रूपांतरित करते.

पायथनमधील निर्देशिका सूची स्क्रिप्ट समजून घेणे

पहिली स्क्रिप्ट वापरते os मॉड्यूल, विशेषतः द फंक्शन, डिरेक्टरी ट्री पार करण्यासाठी. हे फंक्शन डिरेक्टरी ट्रीमध्ये फाईलची नावे व्युत्पन्न करते, वरच्या डिरेक्टरीपासून खाली लीफ डिरेक्टरीपर्यंत. या लूपमध्ये, आम्ही वापरतो os.path.join(root, file) डायरेक्ट्री पाथ आणि फाइलचे नाव अचूकपणे जोडण्यासाठी, ऑपरेटिंग सिस्टमची पर्वा न करता अंतिम मार्ग वैध असल्याची खात्री करून. सर्व फायलींचे पथ नंतर जोडले जातात files_list सूची, जी फंक्शनच्या शेवटी परत केली जाते. ही पद्धत मोठ्या डिरेक्टरी स्ट्रक्चर्ससाठी प्रभावी आहे कारण ती फायलींवर वाढीव प्रक्रिया करते.

दुसरी स्क्रिप्ट रोजगार देते pathlib लायब्ररी, जी फाइल सिस्टमशी संवाद साधण्यासाठी ऑब्जेक्ट-ओरिएंटेड इंटरफेस प्रदान करते. आम्ही ए तयार करून सुरुवात करतो दिलेल्या निर्देशिकेसाठी ऑब्जेक्ट. द path.rglob('*') दिलेल्या पॅटर्नशी जुळणाऱ्या सर्व फायली आवर्ती शोधण्यासाठी पद्धत वापरली जाते. द पद्धत प्रत्येक सापडलेला मार्ग नियमित फाइल आहे की नाही हे तपासते. ते असल्यास, आम्ही रूपांतरित करतो वापरून स्ट्रिंगवर ऑब्जेक्ट करा आणि त्यात जोडा files_list. हा दृष्टीकोन अधिक आधुनिक आहे आणि त्याच्या वाचनीयता आणि वापरणी सुलभतेसाठी अनेकदा प्राधान्य दिले जाते. हे विविध प्रकारचे मार्ग (जसे की सिमलिंक्स) अधिक सुंदरपणे हाताळते.

डायरेक्टरी फाइल्सची यादी करण्यासाठी पायथन वापरणे आणि सूचीमध्ये जोडा

Python - os आणि os.path लायब्ररी वापरणे

import os

def list_files_in_directory(directory_path):
    files_list = []
    for root, dirs, files in os.walk(directory_path):
        for file in files:
            files_list.append(os.path.join(root, file))
    return files_list

# Example usage
directory_path = '/path/to/directory'
files = list_files_in_directory(directory_path)
print(files)

सर्व फाईल्स डिरेक्ट्रीमध्ये सूचीबद्ध करणे आणि Python मध्ये सूचीमध्ये जोडणे

पायथन - पॅथलिब लायब्ररी वापरत आहे

पायथनमध्ये निर्देशिका फाइल सूचीसाठी प्रगत तंत्रे

पूर्वी चर्चा केलेल्या पद्धतींव्यतिरिक्त, निर्देशिकेत फायली सूचीबद्ध करण्यासाठी आणखी एक शक्तिशाली दृष्टीकोन वापरणे समाविष्ट आहे os.scandir() कार्य ही पद्धत ची पुनरावृत्ती दर्शवते os.DirEntry ऑब्जेक्ट्स, ज्यामध्ये फाइल्स आणि डिरेक्टरीबद्दल माहिती असते. पेक्षा ते अधिक कार्यक्षम आहे os.listdir() किंवा os.walk() कारण ते एका सिस्टीम कॉलमध्ये निर्देशिका नोंदी आणि त्यांचे गुणधर्म पुनर्प्राप्त करते. मोठ्या डिरेक्टरीज हाताळताना किंवा आकार किंवा बदल वेळ यासारख्या विशेषतांवर आधारित फायली फिल्टर करणे आवश्यक असताना हे विशेषतः उपयुक्त ठरू शकते.

आणखी एक प्रगत तंत्र वापरणे समाविष्ट आहे १५ मॉड्यूल, जे पथनाव पॅटर्न विस्तारासाठी कार्य प्रदान करते. द glob.glob() फंक्शन निर्दिष्ट पॅटर्नशी जुळणाऱ्या पथांची सूची देते. आवर्ती फाइल सूचीसाठी, १७ सह वापरले जाऊ शकते १८ पॅरामीटर साध्या पॅटर्न मॅचिंगसाठी ही पद्धत अत्यंत कार्यक्षम आहे आणि डेटा प्रोसेसिंग पाइपलाइनमध्ये वापरली जाते जेथे विशिष्ट फाइल प्रकारांवर प्रक्रिया करणे आवश्यक आहे. शिवाय, या पद्धती समांतर प्रक्रिया लायब्ररीसह एकत्रित करणे concurrent.futures मल्टी-कोर प्रोसेसरचा फायदा घेऊन फाइल सिस्टम ऑपरेशन्समध्ये लक्षणीय गती वाढवू शकते.

Python मध्ये निर्देशिका फाइल्स सूचीबद्ध करण्याबद्दल सामान्य प्रश्न

  1. मी निर्देशिकेत फक्त विशिष्ट फाइल प्रकार कसे सूचीबद्ध करू शकतो?
  2. वापरा glob.glob('*.txt') विशिष्ट विस्तारासह फायली जुळविण्यासाठी आणि सूचीबद्ध करण्यासाठी कार्य.
  3. प्रत्येक फाईलची यादी करताना मी त्यांचा आकार कसा मिळवू शकतो?
  4. वापरा २१ प्रत्येक फाईलचा आकार बाइट्समध्ये मिळवण्यासाठी.
  5. मी फायली त्यांच्या सुधारित तारखेनुसार क्रमवारी लावू शकतो का?
  6. होय, वापरा os.path.getmtime(file) फेरफार वेळ पुनर्प्राप्त करण्यासाठी आणि त्यानुसार क्रमवारी लावा.
  7. मी काही फाइल्स किंवा डिरेक्टरी कशा वगळू शकतो?
  8. फायली किंवा निर्देशिका त्यांच्या नावावर किंवा पथांवर आधारित फिल्टर करण्यासाठी तुमच्या लूपमधील परिस्थिती वापरा.
  9. फाईल्स एक्सट्रॅक्ट न करता झिप आर्काइव्हमध्ये सूचीबद्ध करणे शक्य आहे का?
  10. होय, वापरा zipfile.ZipFile वर्ग आणि त्याचे २४ झिप आर्काइव्हमध्ये फाइल्स सूचीबद्ध करण्याची पद्धत.
  11. मी फाइल्स फिल्टर करण्यासाठी रेग्युलर एक्सप्रेशन वापरू शकतो का?
  12. होय, एकत्र करा २५ सह मॉड्यूल os.listdir() नमुन्यांवर आधारित फाइल्स फिल्टर करण्यासाठी.
  13. फायली सूचीबद्ध करताना मी प्रतीकात्मक दुवे कसे हाताळू?
  14. वापरा २७ पथ एक प्रतीकात्मक दुवा आहे का ते तपासण्यासाठी आणि त्यानुसार हाताळा.
  15. मला रिमोट सर्व्हरवर फायलींची यादी करायची असल्यास काय?
  16. सारख्या लायब्ररी वापरा २८ रिमोट सर्व्हरवर फायली सूचीबद्ध करण्यासाठी SSH आणि SFTP साठी.
  17. मी डिरेक्टरीमधील फाइल्सची संख्या कशी मोजू शकतो?
  18. वापरा len(os.listdir(directory_path)) निर्देशिकेतील फाइल्सची संख्या मोजण्यासाठी.

रॅपिंग अप: पायथनमध्ये कार्यक्षम फाइल सूची

शेवटी, निर्देशिकेत फायली सूचीबद्ध करण्यासाठी आणि त्यांना सूचीमध्ये जोडण्यासाठी पायथन अनेक मजबूत पद्धती प्रदान करते. os मॉड्यूल ही सर्वसमावेशक डिरेक्टरी ट्रॅव्हर्सलसाठी एक अष्टपैलू निवड आहे, तर पॅथलिब लायब्ररी ऑब्जेक्ट-ओरिएंटेड दृष्टीकोन देते जे कोड वाचनीयता आणि देखभालक्षमता वाढवते. याव्यतिरिक्त, ग्लोब मॉड्यूल पॅटर्न मॅचिंगमध्ये उत्कृष्ट आहे आणि फाइल शोध कार्ये सुलभ करते. ही साधने समजून घेऊन आणि त्यांचा वापर करून, विकासक त्यांच्या पायथन प्रकल्पांमध्ये निर्देशिका सामग्री कार्यक्षमतेने व्यवस्थापित आणि प्रक्रिया करू शकतात.