目次
1. Mis on töötav kataloog (current directory)?
Pythonis tähendab töötav kataloog (current directory) praegust töökausta. Kui programm töötab, kasutatakse seda kataloogi lähtepunktina failide lugemiseks, kirjutamiseks ja muude operatsioonide tegemiseks. Näiteks, kui skriptis proovitakse faili avada, võib vale kataloogi seadistus põhjustada vea, sest faili ei leita.Töötava kataloogi roll
Pythonis on töötav kataloog oluline failide lugemisel või uute failide loomisel. Kui failihaldus on programmi keskne osa, mõjutab töötava kataloogi õige seadistamine oluliselt programmi toimimist.2. Kuidas saada töötav kataloog Pythonis
Töötava kataloogi saamiseks on kaks võimalust: kasutadaos
moodulit või pathlib
moodulit. Nende kombineerimine võimaldab paindlikku kataloogide haldamist.2.1 Töötava kataloogi hankimine os
mooduli abil
os
on Pythoni standardteegi moodul, mis pakub tööriistu operatsioonisüsteemiga suhtlemiseks. Töötava kataloogi saamiseks kasutatakse os.getcwd()
.import os
current_directory = os.getcwd()
print(current_directory)
Selle koodi käivitamisel kuvatakse töötav kataloog absoluutse teena. Näiteks kui töökeskkond on „/home/user/MyPythonProject“, kuvatakse see tee. See on kasulik, et kontrollida, kas skript töötab õiges kataloogis.2.2 Töötava kataloogi hankimine pathlib
mooduli abil
pathlib
lisati Python 3.4 versioonis, et muuta failisüsteemi käsitlemine intuitiivsemaks. pathlib.Path.cwd()
tagastab töötava kataloogi Path
objektina.from pathlib import Path
current_directory = Path.cwd()
print(current_directory)
Path
objekt on kasulik kataloogide hierarhia käsitlemisel. Sellega saab hõlpsalt teostada keerukamaid failide ja teede operatsioone, näiteks teede ühendamist või faili olemasolu kontrollimist.
3. Kuidas muuta töötavat kataloogi Pythonis
Töötava kataloogi muutmise abil saab Pythonis töötada teiste kataloogide failidega. See laiendab programmi töövõimalusi ja teeb failihalduse paindlikumaks.3.1 Töötava kataloogi muutmine os
mooduli abil
Kataloogi muutmiseks kasutatakse os.chdir()
. Näiteks:import os
os.chdir('/home/user/NewDirectory')
print(os.getcwd())
See kood liigutab töötava kataloogi uude asukohta ja kinnitab muudatuse.3.2 pathlib
kombineerimine kataloogi muutmisel
pathlib
ei paku otsest funktsiooni töötava kataloogi muutmiseks, kuid seda saab kasutada koos os.chdir()
-iga:from pathlib import Path
import os
new_directory = Path('/home/user/NewDirectory')
os.chdir(new_directory)
print(Path.cwd())
Nii saab Path
objekti mugavalt kasutada kataloogi muutmise protsessis.4. Töötava kataloogi failide loetelu hankimine
Kui soovid näha, millised failid ja kaustad kataloogis on, kasutaos.listdir()
funktsiooni:import os
current_directory = os.getcwd()
files = os.listdir(current_directory)
print(files)
See kood kuvab nimekirja kõigist failidest ja kaustadest töötavas kataloogis.
5. Töötava kataloogi probleemide tõrkeotsing
Mõnikord tekivad kataloogi kasutamisel vead. Näiteks võib skript töötada vales kataloogis või fail ei pruugi olla leitav.Levinud probleemid ja lahendused
- Skript ei tööta soovitud kataloogis Kasuta skripti alguses
os.getcwd()
, et kontrollida praegust kataloogi. Vajadusel kasutaos.chdir()
, et see parandada. - Faili ei leita (FileNotFoundError) See viga tekib, kui faili tee on valesti määratud. Lahendusena kasuta
os.path.abspath()
, et kontrollida faili absoluutset teed.
import os
file_path = os.path.abspath('myfile.txt')
print(file_path)
See näitab faili absoluutset teed ja aitab vältida tee määramise vigu.6. Kokkuvõte
Töötava kataloogi haldamine Pythonis on hädavajalik failide lugemisel ja kirjutamisel.os
ja pathlib
moodulite oskuslik kasutamine muudab kataloogide käsitlemise tõhusaks. Õige kataloogi hankimine ja muutmine suurendab programmi töökindlust ning aitab vältida vigu.