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

Python में Given Directory में Files के ऊपर Iterate कैसे करें?


Directory में Files पर Iterate करना

os.listdir(my_path) आपको my_path Directory में मौजूद सब कुछ - Files और Directories दोनों - देगा।

उदाहरण

>>> import os
>>> os.listdir('.')
['DLLs', 'Doc', 'etc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'share', 'tcl', 'Tools', 'w9xpopen.exe']

केवल Files प्राप्त करना

यदि आप केवल Files चाहते हैं, तो isfile का उपयोग करके Filter कर सकते हैं:

>>> import os
>>> file_list = [f for f in os.listdir('.') if os.path.isfile(os.path.join('.', f))]
>>> print(file_list)
['LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'w9xpopen.exe']

Files पर Iterate करना

import os

for filename in os.listdir('.'):
    filepath = os.path.join('.', filename)
    if os.path.isfile(filepath):
        print(f"File: {filename}")
        # File के साथ कुछ करें
        with open(filepath, 'r') as f:
            content = f.read()

आधुनिक Python (3.4+) में Pathlib का उपयोग (अनुशंसित):

from pathlib import Path

for file_path in Path('.').iterdir():
    if file_path.is_file():
        print(f"File: {file_path.name}")
        content = file_path.read_text()

# Recursive Iteration
for file_path in Path('.').rglob('*'):
    if file_path.is_file():
        print(file_path)

os.scandir() का उपयोग (Python 3.5+, अधिक Efficient):

import os

with os.scandir('.') as entries:
    for entry in entries:
        if entry.is_file():
            print(entry.name)
            # entry.stat() से Metadata बिना Extra System Call के उपलब्ध

  1. - पायथन में cd कैसे करें?

    आप os मॉड्यूल का उपयोग करके पायथन में डायरेक्टरी बदल सकते हैं या cd कर सकते हैं। यह उस डायरेक्टरी के रिलेटिव/एब्सोल्यूट पथ को इनपुट के रूप में लेता है जिस पर आप स्विच करना चाहते हैं। उदाहरण >>> import os >>> os.chdir(my_folder)

  1. - पायथन में डायरेक्टरी में एकाधिक फ़ाइलों को कैसे डिलीट करें?

    आप os मॉड्यूल में फ़ंक्शन्स का उपयोग करके एक सिंगल फ़ाइल या एक सिंगल खाली फ़ोल्डर डिलीट कर सकते हैं। उदाहरण उदाहरण के लिए, यदि आप my_file.txt फ़ाइल डिलीट करना चाहते हैं, >>> import os >>> os.remove(my_file.txt) os.remove का आर्गुमेंट एब्सोल्यूट या रिलेटिव पथ होना चाहिए। कई फ़ाइलों

  1. - पायथन में डायरेक्टरी में एकाधिक फ़ाइलों को कैसे रीनेम करें?

    यदि आपके पास फ़ाइलों की सूची है जिन्हें आप रीनेम करना चाहते हैं और संबंधित नया फ़ाइल नाम, तो आप os मॉड्यूल के rename मेथड का उपयोग कर सकते हैं। उदाहरण import os for old, new in files.items(): # पायथन 3 में files.items() os.rename(old, new) आप shutil (शेल यूटिलिटीज़) मॉड्यूल का भी उपयोग कर सकते