పైథాన్‌లో ఫైల్ మరియు డైరెక్టరీ పేర్ల జాబితాను పొందండి.

వ్యాపారం

పైథాన్‌లో ఫైల్ మరియు డైరెక్టరీ పేర్ల (ఫోల్డర్ పేర్లు) జాబితాను పొందడానికి, 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()తో పాటు, మీరు ఫైల్ మరియు డైరెక్టరీ పేర్ల (ఫోల్డర్ పేర్లు) జాబితాను పొందడానికి గ్లోబ్ మాడ్యూల్‌ని కూడా ఉపయోగించవచ్చు. వైల్డ్‌కార్డ్‌లు (*) మొదలైన వాటిని ఉపయోగించి షరతులను పేర్కొనడానికి మరియు ఉప డైరెక్టరీలను పునరావృతంగా చేర్చడానికి glob మిమ్మల్ని అనుమతిస్తుంది.

పైథాన్ 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']
Copied title and URL