பைத்தானில் கோப்பு மற்றும் அடைவு பெயர்களின் பட்டியலைப் பெறவும்.

வணிக

பைத்தானில் கோப்பு மற்றும் அடைவுப் பெயர்களின் (கோப்புறை பெயர்கள்) பட்டியலைப் பெற, os தொகுதி செயல்பாடு os.listdir() ஐப் பயன்படுத்தவும்.

os.listdir(path=’.’)
பாதையால் குறிப்பிடப்பட்ட கோப்பகத்தில் உள்ளீடு பெயர்களைக் கொண்ட பட்டியலை வழங்கும்.
os — Miscellaneous operating system interfaces — Python 3.10.0 Documentation

OS தொகுதி நிலையான நூலகத்தில் சேர்க்கப்பட்டுள்ளது மற்றும் நிறுவ வேண்டிய அவசியமில்லை. இருப்பினும், “இறக்குமதி” தேவை.

பின்வரும் தகவல்கள் இங்கே கொடுக்கப்பட்டுள்ளன.

  • கோப்பு மற்றும் கோப்பகத்தின் பெயர்களின் பட்டியலைப் பெறவும்.
  • கோப்பு பெயர்களின் பட்டியலை மட்டும் பெறவும்
  • அடைவு பெயர்களின் பட்டியலை மட்டும் பெறவும்

பின்வருவது ஒரு கோப்பு (அடைவு) கட்டமைப்பின் எடுத்துக்காட்டு.

.
└── testdir
    ├── dir1
    ├── dir2
    ├── file1
    ├── file2.txt
    └── file3.jpg

os.listdir()க்கு கூடுதலாக, நீங்கள் கோப்பு மற்றும் அடைவு பெயர்களின் (கோப்புறை பெயர்கள்) பட்டியலைப் பெற குளோப் தொகுதியையும் பயன்படுத்தலாம். க்ளோப் உங்களை வைல்டு கார்டுகள் (*) போன்றவற்றைப் பயன்படுத்தி நிபந்தனைகளைக் குறிப்பிடவும், மீண்டும் மீண்டும் துணை அடைவுகளை உள்ளடக்கவும் அனுமதிக்கிறது.

பைதான் 3.4 மற்றும் அதற்குப் பிறகு, பாத்லிப் தொகுதியைப் பயன்படுத்தி கோப்புகள் மற்றும் கோப்பகங்களின் பட்டியலைப் பெறுவதும் சாத்தியமாகும், இது பாதைகளை பொருள்களாகக் கையாள முடியும். மேலே உள்ள குளோப்களைப் போலவே, இது நிபந்தனையாகவும் மீண்டும் மீண்டும் பயன்படுத்தப்படலாம்.

கோப்பு மற்றும் கோப்பகத்தின் பெயர்களின் பட்டியலைப் பெறவும்.

நீங்கள் os.listdir() ஐப் பயன்படுத்தினால், அது கோப்பு மற்றும் அடைவுப் பெயர்கள் இரண்டின் பட்டியலை வழங்கும்.

import os

path = "./testdir"

files = os.listdir(path)
print(type(files))  # <class 'list'>
print(files)        # ['dir1', 'dir2', 'file1', 'file2.txt', 'file3.jpg']

நீங்கள் பெறுவது பாதை சரங்களின் பட்டியல்.

கோப்பு பெயர்களின் பட்டியலை மட்டும் பெறவும்

நீங்கள் கோப்பு பெயர்களின் பட்டியலைப் பெற விரும்பினால், பாதை ஒரு கோப்பாக உள்ளதா என்பதைத் தீர்மானிக்க os.path.isfile() செயல்பாட்டைப் பயன்படுத்தவும். os.path.isfile() செயல்பாட்டின் வாதமாக கோப்பு பெயரை மட்டும் அனுப்புவது வேலை செய்யாது, எனவே கீழே காட்டப்பட்டுள்ளபடி முழு பாதையையும் அனுப்பவும்.
os.path.isfile(os.path.join(path, f))

files = os.listdir(path)
files_file = [f for f in files if os.path.isfile(os.path.join(path, f))]
print(files_file)   # ['file1', 'file2.txt', 'file3.jpg']

அடைவு பெயர்களின் பட்டியலை மட்டும் பெறவும்

நீங்கள் அடைவுப் பெயர்களின் பட்டியலை மட்டும் பெற விரும்பினால், அதே வழியில் os.path.isdir() ஐப் பயன்படுத்தவும்.

files = os.listdir(path)
files_dir = [f for f in files if os.path.isdir(os.path.join(path, f))]
print(files_dir)    # ['dir1', 'dir2']