Selles õpetuses saate teada Pythonis failide ja kataloogide haldamise kohta, see tähendab kataloogi loomine, selle ümbernimetamine, kõigi kataloogide loetlemine ja nendega töötamine.
Video: Pythoni os-moodul
Pythoni kataloog
Kui meie Pythoni programmis on palju faile, mida käsitleda, saame oma koodi korraldada erinevates kataloogides, et muuta asjad paremini hallatavaks.
Kataloog või kaust on failide ja alamkataloogide kogu. Pythonis on os
moodul, mis pakub meile palju kasulikke meetodeid kataloogide (ja ka failidega) töötamiseks.
Hangi praegune kataloog
Praeguse töökataloogi saame mooduli getcwd()
meetodil os
.
See meetod tagastab praeguse töökataloogi stringi kujul. Samuti võime getcwdb()
meetodit kasutada selle saamiseks baitide objektina.
>>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'
Lisasuunaline kaldkriips tähendab põgenemisjärjestust. print()
Funktsioon muudab see korralikult.
>>> print(os.getcwd()) C:Program FilesPyScripter
Kataloogi muutmine
chdir()
Meetodi abil saame praegust töökataloogi muuta .
Uus tee, mida soovime muuta, tuleb selle meetodi jaoks anda stringina. /
Teeelementide eraldamiseks võime kasutada nii kaldkriipsu kui ka kaldkriipsu .
Tagurpidi kaldkriipsu kasutamisel on turvalisem kasutada põgenemisjärjestust.
>>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33
Nimekiri kataloogid ja failid
Kõiki kataloogis olevaid faile ja alamkatalooge saab listdir()
meetodi abil leida .
See meetod võtab sisse tee ja tagastab selle tee alamkataloogide ja failide loendi. Kui teed pole määratud, tagastab see alamkataloogide ja failide loendi praegusest töökataloogist.
>>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')
Uue kataloogi tegemine
Selle mkdir()
meetodi abil saame teha uue kataloogi .
See meetod viib uue kataloogi tee. Kui kogu tee pole määratud, luuakse uus kataloog praeguses töökataloogis.
>>> os.mkdir('test') >>> os.listdir() ('test')
Kataloogi või faili ümbernimetamine
rename()
Meetod võib ümber kataloog või fail.
Mis tahes kataloogi või faili ümbernimetamiseks rename()
võtab meetod kaks argumenti: vana nimi esimese argumendina ja uus nimi teise argumendina.
>>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')
Kataloogi või faili eemaldamine
Faili saab remove()
meetodi abil eemaldada (kustutada) .
Samamoodi rmdir()
eemaldab meetod tühja kataloogi.
>>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()
Märkus . rmdir()
Meetod saab eemaldada ainult tühjad kataloogid.
Mittetühja kataloogi eemaldamiseks saame kasutada mooduli rmtree()
sees olevat meetodit shutil
.
>>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()