Python માં ફાઇલ અને ડિરેક્ટરી નામો (ફોલ્ડર નામો) ની યાદી મેળવવા માટે, 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']