目次  
1. Kausta loomise põhiline meetod Pythonis
Pythonis on olemas lihtne viis kaustade loomiseks, kasutades standardraamatukogu. Peamiselt kasutatakseos moodulit. Selles sektsioonis selgitame üksikasjalikult os mooduli abil kausta loomise meetodit.Kausta loomise meetod Pythonis: os moodul
os mooduli kasutamisega saab programmis kausta luua. See on kasulik näiteks andmete korraldamiseks või logide salvestamiseks mõeldud kataloogi loomiseks.  Põhiline kausta loomise meetod on järgmine.import os
# Määra loodava kausta tee
path = 'example_folder'
# Loo kaust
os.mkdir(path)os.mkdir() funktsiooni uue kausta “example_folder” loomiseks. Kuid see funktsioon tekitab FileExistsError juhul, kui kaust juba eksisteerib.Mitmekihiliste kaustade loomine: os.makedirs()
Kui soovite luua mitte ainult üksik kaust, vaid ka mitmekihilisi katalooge korraga, kasutageos.makedirs() funktsiooni.import os
# Määra mitmekihiline kaust
path = 'example_folder/subfolder'
# Loo kaust isegi siis, kui vanemkataloog ei eksisteeri
os.makedirs(path)os.makedirs(), saab määratud teel puuduvad vanemkataloogid samuti korraga luua. See võimaldab kaustastruktuuri korraga luua, mis on mugav.Vea käsitlemine: exist_ok=True kasutamine
Kui kaust juba eksisteerib, kuid soovite vältida vea teket ja jätkata töötlemist, kasutageexist_ok=True valikut. Nagu alljärgnevas näites, ei teki viga isegi kui kaust on olemas.import os
path = 'example_folder/subfolder'
# Ignoreeri viga isegi siis, kui kaust juba eksisteerib
os.makedirs(path, exist_ok=True)2. Kaustade loomine Pathlib mooduli abil
Alates Python 3.4 onpathlib moodul lisatud standardraamatukogusse. See moodul võimaldab objektorienteeritud viisil tegeleda teedega ning võimaldab intuitiivselt kaustu luua. Siin selgitame, kuidas pathlib moodulit kasutades kaustu luua.Pathlib mooduli kasutamine
pathlib.Path() kasutades on võimalik katalooge luua. Nagu os mooduliga, saab exist_ok=True määrata, et olemasoleva kausta korral ei tekiks viga.from pathlib import Path
# Määra kausta tee, mida soovid luua
path = Path('example_folder/subfolder')
# Loo kaust
path.mkdir(parents=True, exist_ok=True)parents=True, luuakse ka vanemkataloog, kui see ei eksisteeri. Sellega saavutatakse sama käitumine nagu os.makedirs().Pathlib mooduli eelised
pathlib mooduli suur eelis on, et see võimaldab objektorienteeritud operatsioone. Path objekti kasutades saab lisaks kaustade loomisele ka teede ühendamist ja failide töötlemist teha intuitiivselt. See parandab koodi loetavust ja hooldatavust.3. Kataloogide loomise veahaldamine
Kataloogi loomisel võib tekkida mitmesuguseid vigu. Näiteks kui puuduvad õigused või määratud tee on kehtetu. Selles sektsioonis selgitame, kuidas rakendada veahaldust.Õiguste vead ja kehtetute teede käsitlemine
os.makedirs() või pathlib.Path().mkdir() kasutamisel kataloogi loomisel tekivad tavapärased vead, nagu PermissionError ja FileNotFoundError. Nende vigade korrektne käsitlemine võimaldab luua vastupidavama programmi.  Allpool on veahaldamise näide.import os
path = 'example_folder/subfolder'
try:
    os.makedirs(path, exist_ok=True)
    print(f'Kataloog "{path}" loodi.')
except PermissionError:
    print('Kataloogi loomiseks puuduvad õigused.')
except FileNotFoundError:
    print('Määratud tee on kehtetu.')
except Exception as e:
    print(f'Tekkis ootamatu viga: {e}')Täiustatud veahaldus
Kataloogi loomise ebaõnnestumise olukordades tuleks kaaluda vigade sisu logimise ja kasutajale teavitamise võimalust. Eriti suurtes rakendustes mõjutab veahaldus kasutajakogemust märkimisväärselt, seega on vajalik põhjalik lähenemine.
4. Kaustade kustutamise meetod
Lisaks kaustade loomisele on sageli vaja kustutada kaustad, mida enam ei vajata. Pythonis saab standardraamatukoguos moodulit või shutil moodulit kasutada kaustade kustutamiseks. Siin selgitame konkreetseid meetodeid.os.rmdir() kasutades kausta kustutamine
os moodulis on funktsioon rmdir(), millega saab kausta kustutada. Kuid see funktsioon nõuab, et kustutatav kaust oleks tühi.import os
# Määrake kustutatava kausta tee
path = 'example_folder/subfolder'
# Kustuta kaust
os.rmdir(path)OSError.shutil.rmtree() kasutades kausta rekursiivne kustutamine
Kui kaustas on faile või teisi alamkaustu, saabshutil mooduli rmtree() funktsiooni abil kausta ja selle sisu rekursiivselt kustutada.import shutil
# Määrake kustutatava kausta tee
path = 'example_folder/subfolder'
# Kustuta kaust ja selle sisu
shutil.rmtree(path)Vea käsitlemine
Kausta kustutamisel on samuti oluline vigade käsitlemine. Näiteks tekib viga, kui puuduvad õigused kausta kustutamiseks või kui määratud tee on kehtetu. Allpool on näide koodist, mis sisaldab veahaldust.import shutil
path = 'example_folder/subfolder'
try:
    shutil.rmtree(path)
    print(f'Kaust "{path}" on kustutatud.')
except PermissionError:
    print('Kausta kustutamiseks puuduvad õigused.')
except FileNotFoundError:
    print('Määratud kausta ei leitud.')
except Exception as e:
    print(f'Tekkis ootamatu viga: {e}')5. Tegelikud rakendusjuhtumid
Siin tutvustame rakendusjuhtumeid, mis kombineerivad kaustade loomist ja kustutamist ning on kasulikud tegelikes projektides ja andmetöötluses. Eriti eeldame juhtumeid, kus aastaste või kuude andmeid korraldatakse kaustade kaupa.Kaustade loomine aasta ja kuu kaupa
Näiteks, kui soovite andmeid korraldada aastate või kuude kaupa, saate luua skripti, mis loob kaustad automaatselt.import os
from datetime import datetime
# Praeguse aasta ja kuu hankimine
current_year = datetime.now().year
current_month = datetime.now().month
# Kausta tee määramine
folder_path = f'data/{current_year}/{current_month}'
# Kausta loomine
os.makedirs(folder_path, exist_ok=True)
print(f'Kaust "{folder_path}" on loodud.')
Kaustade massiline kustutamine
Kui soovite teatud tingimuste alusel mittevajalikke kaustu korraga kustutada, saate Pythoniga seda tõhusalt teha. Näiteks on võimalik luua skript, mis kustutab vanad andmekaustad, mis on teatud ajaperioodi üle.import shutil
import os
from datetime import datetime, timedelta
# 30 päeva tagasi oleva kuupäeva hankimine
threshold_date = datetime.now() - timedelta(days=30)
# Kustutatavate kaustade baasrada
base_path = 'data/'
# Kaustade kontrollimine ja vanade kaustade kustutamine
for folder_name in os.listdir(base_path):
    folder_path = os.path.join(base_path, folder_name)
    if os.path.isdir(folder_path):
        folder_date = datetime.strptime(folder_name, '%Y-%m-%d')
        if folder_date < threshold_date:
            shutil.rmtree(folder_path)
            print(f'Vana kaust "{folder_path}" on kustutatud.')
6. Kokkuvõte
Selles artiklis selgitati, kuidas Pythoniga kaustu luua ja kustutada.os-moodulit ja pathlib-moodulit kasutades tutvustasime laialdaselt põhilisi toiminguid, alates kausta loomise veahaldusest kuni tegelike rakendusteni. Nende teadmiste kasutamisega saate luua programme, mis haldavad andmeid ja faile tõhusalt.  Järgmise sammuna on soovitatav õppida ka kõrgema taseme andmehalduse tehnikaid, nagu failide töötlemine ja pakkimine, lisaks kausta loomisele ja kustutamisele.
 
 


