Ji bo ku hûn di Python de navnîşek navên pel û peldankan (navên peldankan) bistînin, fonksiyona modula os-ê os.listdir() bikar bînin.
os.listdir(path=’.’)
Lîsteyek ku navên têketinê di pelrêça ku ji hêla rê ve hatî destnîşan kirin vedigire.
os — Miscellaneous operating system interfaces — Python 3.10.0 Documentation
Modula os di pirtûkxaneya standard de cih digire û ne hewce ye ku were saz kirin. Lêbelê, “import” hewce ye.
Agahiyên jêrîn li vir têne pêşkêş kirin.
- Lîsteyek ji navên pel û peldankê bistînin.
- Tenê navnîşek navên pelan bistînin
- Tenê navnîşek navên navnîşan bistînin
Li jêr mînakek avahiyek pelê (derhênerê) ye.
. └── testdir ├── dir1 ├── dir2 ├── file1 ├── file2.txt └── file3.jpg
Ji bilî os.listdir(), hûn dikarin modula glob-ê jî bikar bînin da ku navnîşek navên pel û peldankan (navên peldankan) bistînin. glob destûrê dide te ku hûn şert û mercan bi kartên hov (*) û hwd diyar bikin, û bi paşvekişandinê binerdektoran têxin nav xwe.
Di Python 3.4 û paşê de, her weha gengaz e ku meriv navnîşek pel û peldankan bi karanîna modula pathlib-ê bigire, ku dikare rêyan wekî tiştan manîpule bike. Mîna globên li jor, ew dikare bi şert û paşverû jî were bikar anîn.
Lîsteyek ji navên pel û peldankê bistînin.
Ger hûn os.listdir() wekî xwe bikar bînin, ew ê navnîşek navên pelan û pelrêçanê vegerîne.
import os path = "./testdir" files = os.listdir(path) print(type(files)) # <class 'list'> print(files) # ['dir1', 'dir2', 'file1', 'file2.txt', 'file3.jpg']
Ya ku hûn distînin navnîşek rêzikên rê ye.
Tenê navnîşek navên pelan bistînin
Heke hûn dixwazin navnîşek tenê navên pelan bistînin, fonksiyona os.path.isfile() bikar bînin da ku diyar bikin ka rê pelek e. derbaskirina tenê navê pelê wekî argumana fonksiyona os.path.isfile() dê nexebite, ji ber vê yekê riya tevahî wekî ku li jêr tê xuyang kirin derbas bikin.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']
Tenê navnîşek navên navnîşan bistînin
Heke hûn dixwazin tenê navnîşek navên pelrêça bistînin, bi heman rengî os.path.isdir() bikar bînin.
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']