Python: Lumikha at Magtanggal ng Folder | os at pathlib

1. Pangunahing paraan ng paggawa ng folder gamit ang Python

Python mayroon, standard library gamit madaling paraan para gumawa ng folder. Ang karaniwang ginagamit ay ang os module. Sa seksyong ito, tatalakayin nang detalyado ang paraan ng paggawa ng folder gamit ang os module.

Paraan ng paggawa ng folder gamit ang Python: os module

os module gamit, maaari kang lumikha ng folder sa loob ng programa. Ito ay kapaki-pakinabang kapag nag-aayos ng data o lumilikha ng direktoryo para sa pag-iimbak ng mga log. Ang pangunahing paraan ng paggawa ng folder ay ang mga sumusunod.
import os

# Itakda ang path ng folder na gagawin
path = 'example_folder'

# Lumikha ng folder
os.mkdir(path)
Sa code na ito, ginagamit ang function na os.mkdir() upang lumikha ng bagong folder na “example_folder”. Gayunpaman, kung ang folder ay umiiral na, magdudulot ang function na ito ng FileExistsError.

Paglikha ng maraming antas na folder: os.makedirs()

Kung nais mong lumikha ng hindi lamang isang folder kundi maraming antas na direktoryo nang sabay-sabay, gamitin ang function na os.makedirs().
import os

# Itakda ang folder na may maraming antas
path = 'example_folder/subfolder'

# Lumikha ng folder kahit na walang magulang na direktoryo
os.makedirs(path)
Sa ganitong paraan, gamit ang os.makedirs(), maaari mong sabay-sabay na likhain ang mga hindi pa umiiral na parent directory sa tinukoy na path. Nagbibigay ito ng kaginhawahan na lumikha ng buong istruktura ng folder nang sabay.

Paghawak ng error: paggamit ng exist_ok=True

Kung nais mong magpatuloy sa pagproseso nang hindi nagkakaroon ng error kahit na umiiral na ang folder, gamitin ang opsyon na exist_ok=True. Sa pamamagitan ng pag-set nito tulad ng sa halimbawa sa ibaba, hindi magtataas ng error kahit na may folder na.
import os

path = 'example_folder/subfolder'

# Balewalain ang error kahit na umiiral na ang folder
os.makedirs(path, exist_ok=True)
Sa ganitong paraan, kahit na sinusubukan ng programa na lumikha ng parehong folder sa bawat pagtakbo, hindi magpapakita ng error, kaya makakagawa ka ng mas matibay na code.

2. Paglikha ng folder gamit ang Pathlib module

Mula Python 3.4 pataas, pathlib module ay idinagdag sa standard library. Ang module na ito ay maaaring mag-manipula ng mga path sa paraang object-oriented, at nagbibigay-daan para sa madaling paglikha ng mga folder. Dito, ipapaliwanag namin kung paano lumikha ng folder gamit ang pathlib module.

Paano gamitin ang Pathlib module

pathlib.Path() sa pamamagitan ng paggamit, maaaring lumikha ng direktoryo. Katulad ng os module, kapag tinukoy ang exist_ok=True, maiiwasan ang error kahit na may umiiral nang folder.
from pathlib import Path

# Tukuyin ang path ng folder na nais likhain
path = Path('example_folder/subfolder')

# Lumikha ng folder
path.mkdir(parents=True, exist_ok=True)
Sa code na ito, kapag tinukoy ang parents=True, kahit na walang magulang na direktoryo, ito ay awtomatikong malilikha kasama nito. Sa ganitong paraan, naisasakatuparan ang parehong pag-andar tulad ng os.makedirs().

Mga benepisyo ng Pathlib module

Ang pangunahing katangian ng pathlib module ay ang kakayahang magsagawa ng object-oriented na operasyon. Sa pamamagitan ng paggamit ng Path object, bukod sa paglikha ng folder, maaari ring pagsamahin ang mga path at magsagawa ng mga operasyon sa file nang intuitive. Dahil dito, tumataas ang nababasa at maintainability ng code.

3. Pag-handle ng Error sa Paglikha ng Folder

Kapag lumilikha ng folder, maaaring mangyari ang iba’t ibang error. Halimbawa, kapag kulang ang permiso o kapag ang tinukoy na path ay hindi wasto. Sa seksyong ito, ipapaliwanag namin kung paano mag-implement ng error handling.

Pagharap sa Permission Error at Invalid Path

Ang mga karaniwang error na maaaring mangyari kapag gumagamit ng os.makedirs() o pathlib.Path().mkdir() para lumikha ng folder ay PermissionError at FileNotFoundError. Sa pamamagitan ng tamang paghawak sa mga error na ito, makakagawa ka ng mas matibay na programa. Narito ang isang halimbawa ng error handling.
import os

path = 'example_folder/subfolder'

try:
    os.makedirs(path, exist_ok=True)
    print(f'Folder "{path}" ay nalikha.')
except PermissionError:
    print('Wala kang permiso para lumikha ng folder.')
except FileNotFoundError:
    print('Ang tinukoy na path ay hindi wasto.')
except Exception as e:
    print(f'May naganap na hindi inaasahang error: {e}')
Sa code na ito, ipinapakita ang mga paraan ng pag-handle sa bawat karaniwang error, pati na rin sa hindi inaasahang mga error. Sa ganitong paraan, hindi matitigil ang programa at maayos na napoproseso ang mga error.

Mas Advanced na Error Handling

Sa mga sitwasyon kung saan maaaring mabigo ang paglikha ng folder, dapat isaalang-alang ang pag-log ng detalye ng error at pag-notify sa user. Lalo na sa malalaking aplikasyon, ang pag-handle ng error ay may malaking epekto sa karanasan ng user, kaya kinakailangan ng maayos na tugon.

4. Paraan ng Pagtanggal ng Folder

Hindi lang paglikha ng folder, madalas ding kailangan tanggalin ang mga folder na hindi na kailangan. Sa Python, maaaring gamitin ang mga standard library na os module at shutil module para magtanggal ng folder. Dito, ipapaliwanag namin ang mga tiyak na paraan.

Pag-delete ng Folder gamit ang os.rmdir()

os module may function na rmdir() na maaaring magtanggal ng folder. Ngunit may limitasyon ito na ang folder na tatanggalin ay dapat walang laman.
import os

# Itakda ang path ng folder na tatanggalin
path = 'example_folder/subfolder'

# Tanggalin ang folder
os.rmdir(path)
Ang code na ito ay gagana nang tama lamang kung ang tinukoy na folder ay walang laman. Kapag may mga file o ibang direktoryo sa loob ng folder, magtataas ng OSError.

Recursive na Pagtanggal ng Folder gamit ang shutil.rmtree()

Kapag may mga file o ibang subfolder sa loob ng folder, maaaring gamitin ang rmtree() function ng shutil module upang tanggalin ang folder at ang lahat ng laman nito nang recursive.
import shutil

# Itakda ang path ng folder na tatanggalin
path = 'example_folder/subfolder'

# Tanggalin ang folder at ang laman nito
shutil.rmtree(path)
Ang pamamaraang ito ay kapaki-pakinabang dahil maaari nitong tanggalin ang folder kahit na hindi ito walang laman, kaya ito ay maginhawa kapag nais tanggalin ang buong directory tree. Gayunpaman, dahil hindi na maibabalik ang mga tinanggal na file o folder, kailangan itong gamitin nang maingat.

Error Handling

Mahalaga rin ang error handling kapag nagtatanggal ng folder. Halimbawa, magkakaroon ng error kung wala kang permiso sa folder na tatanggalin o kung ang tinukoy na path ay hindi wasto. Narito ang isang halimbawa ng code na may error handling.
import shutil

path = 'example_folder/subfolder'

try:
    shutil.rmtree(path)
    print(f'Folder "{path}" ay natanggal.')
except PermissionError:
    print('Wala kang permiso para tanggalin ang folder.')
except FileNotFoundError:
    print('Hindi mahanap ang tinukoy na folder.')
except Exception as e:
    print(f'May hindi inaasahang error na naganap: {e}')
Sa code na ito, hinaharap ang mga error na maaaring mangyari kapag nagtatanggal, at flexible na tinatrato rin ang mga hindi inaasahang error.
年収訴求

5. Mga Aktwal na Kaso ng Pag-aaplay

Dito, ipapakita namin ang mga kaso ng pag-aaplay na kapaki-pakinabang sa mga aktwal na proyekto at pagproseso ng datos sa pamamagitan ng pagsasama ng paglikha at pagtanggal ng mga folder. Lalo na, iniisip namin ang mga kaso kung saan inaayos ang taunang o buwanang datos sa bawat folder.

Paglikha ng Folder Ayon sa Taon at Buwan

Halimbawa, kung nais mong ayusin ang datos ayon sa taon o buwan, maaari kang gumawa ng script na awtomatikong lumikha ng mga folder.
import os
from datetime import datetime

# Kunin ang kasalukuyang taon at buwan
current_year = datetime.now().year
current_month = datetime.now().month

# Itakda ang landas ng folder
folder_path = f'data/{current_year}/{current_month}'

# Lumikha ng folder
os.makedirs(folder_path, exist_ok=True)
print(f'Nalikha ang folder "{folder_path}".')
Ang script na awtomatikong lumilikha ng mga folder batay sa kasalukuyang taon at buwan, na tumutulong upang epektibong ayusin ang datos.

Batch na Pagtanggal ng mga Folder

Maaari ring gamitin ang Python upang epektibong magproseso kung nais mong batch na tanggalin ang mga hindi kailangang folder batay sa tiyak na kondisyon. Halimbawa, maaari kang gumawa ng script na magtatanggal ng mga lumang folder ng datos na lumipas na ang isang tiyak na panahon.
import shutil
import os
from datetime import datetime, timedelta

# Kunin ang petsa 30 araw bago ngayon
threshold_date = datetime.now() - timedelta(days=30)

# Patnubay na landas para sa mga folder na tatanggalin
base_path = 'data/'

# Suriin ang mga folder at tanggalin ang mga lumang folder
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'Tinanggal ang lumang folder "{folder_path}".')
Sa ganitong mga kaso ng pag-aaplay, maaari mong i-automate ang pamamahala at pag-aayos ng mga folder gamit ang programa, na nag-aalis ng pangangailangan para sa manu-manong operasyon.

6. Buod

Sa artikulong ito, ipinaliwanag namin kung paano lumikha at magtanggal ng mga folder gamit ang Python. os module at pathlib module ay ginamit mula sa mga pangunahing paraan ng operasyon, hanggang sa error handling kapag lumilikha ng folder at mga totoong kaso ng aplikasyon, ipinakita namin ito nang malawakan. Sa pamamagitan ng paggamit ng kaalamang ito, makakalikha ka ng mga programang epektibong namamahala ng data at mga file. Bilang susunod na hakbang, magandang matutunan din ang mga teknolohiya sa mas advanced na pamamahala ng data tulad ng pag-manipula ng file, compression, at iba pa, bukod sa paglikha at pagtanggal ng mga folder.
年収訴求