Programiranje

Kako raditi s datotekama u Pythonu

Kako raditi s datotekama u Pythonu

Python je nevjerojatan programski jezik za većinu zadataka, kao što su web razvoj, AI, automatizacija ili opće programiranje. Rad s datotekama i mapama važan je jer ih moramo koristiti za automatizaciju zadataka ili pohranu podataka i razne druge slične zadatke.

Za rad s datotekama posebnog formata, kao što su slikovne datoteke, JSON datoteke, PDF, CSV datoteke ili datoteke baza podataka, python ima nevjerojatne module napisane od sjajnih programera kako bi naš zadatak bio lakši. Možete provjeriti naš korak po korak vodič o radu s datotekama SQL baze podataka pomoću pythona pomoću kojeg možete naučiti SQLite, što je sjajan način za pohranu i preuzimanje podataka programa python.

Prije nego što započnemo, prvo moramo instalirati python u sustav. Ako ga nemate instaliran, možete vidjeti naš vodič za instaliranje pythona.

Rad s datotekama u Pythonu

Datoteke su važan dio našeg svakodnevnog posla. Za mnoge zadatke koristimo PDF datoteke, Excel datoteke ili uobičajene tekstualne datoteke. Vodiči koje čitate na ovom web mjestu nalaze se u HTML datoteci koju vaš preglednik obrađuje. Kao i mnogi drugi programski jezici, Python također podržava rukovanje datotekama.

Otvaranje i zatvaranje datoteka

Datoteku možemo lako otvoriti u pythonu pomoću ugrađene funkcije open (). Funkcija open prihvaća mnogo argumenata, ali glavni traženi argument je put do datoteke koju želimo otvoriti. Funkcija open () ima jedan povratak, a to je objekt datoteke.

file_obj = open ("naziv datoteke.txt ")

Kôd će otvoriti datoteku pod nazivom „ime datoteke.txt ", tekstualna datoteka koja se nalazi u istoj mapi. Tada će pohraniti povratni objekt datoteke u varijablu file_obj.

Kad završimo svu obradu s datotekom, moramo se sjetiti zatvaranja datoteke. Datoteka se u mnogim slučajevima zatvara nakon prekida programa, ali dobro je zatvoriti je funkcijom close () kad god nam ne treba. Ako zaboravimo zatvoriti datoteku, ona će jednostavno potrošiti memoriju, što će usporiti program. Smatra se lošom praksom za veće projekte.

Da bismo zatvorili otvorenu datoteku, trebamo koristiti funkciju close () objekta datoteke.

# ovdje ćemo otvoriti naziv datoteke.txt file_obj = open ("naziv datoteke.txt ") print (" Datoteka je uspješno otvorena ... ") # Sada možemo obaviti obradu s datotekom # Nakon obrade moramo zatvoriti datoteku file_obj.close () print ("Datoteka je zatvorena ...")

Otvorili smo datoteku s imenom naziv datoteke.txt u istoj mapi pomoću funkcije open (), a zatim je zatvorio pomoću funkcije close ().

Izlaz:

otvaranje i zatvaranje datoteke

Iako je funkcija close () korisna za zatvaranje datoteke, postoji još jedan način za zatvaranje datoteke, tj.e., otvaranjem datoteke pomoću s Izjava.

Primjer:

s otvorenim ("naziv datoteke.txt ") kao file_obj: # Ovdje idu operacije datoteka

Kôd će automatski zatvoriti datoteku nakon što izađemo iz s blok. Izjava with također zatvara datoteku ako će doći do greške, pa je bolje upotrijebiti with s izjavom jer možemo zatvoriti datoteku i s njom lako rješavati pogreške datoteke.

Načini otvaranja datoteke

Iako se funkcija open () može koristiti samo s jednim argumentom, tj.e., put datoteke, možemo koristiti i drugi argument imenovan način rada. Označava način koji se koristi za otvaranje datoteke.

Na primjer, ako datoteku želimo otvoriti samo za čitanje i ne želimo je uređivati, način rada 'r' možemo koristiti kao argument funkcije open (), što znači način samo za čitanje. Ovo je ujedno i zadani način rada open (). Za pisanje ili izmjenu datoteke, datoteku moramo otvoriti u načinu pisanja koristeći 'w' kao argument.

Primjer:

s otvorenim ("naziv datoteke.txt ", w"): # Ovdje idu izjave # koje će se izvoditi na datoteci

Ovaj će kôd otvoriti datoteku u načinu pisanja, tako da možete izvršavati operacije pisanja na datoteci.

Mogu biti i situacije kada želimo otvoriti datoteku u binarnom načinu kako bismo na njoj izveli neku operaciju. Da bismo to učinili, moramo mod "rb" za čitanje u binarnom načinu i "wb" za pisanje u binarnom načinu.

Primjer:

s otvorenim ("naziv datoteke.dat "," rb "): # Ovdje idu izrazi # koji se izvode na binarnoj datoteci

Otvorit će podatkovnu datoteku pod nazivom filename.dat u binarnom načinu rada samo za čitanje.

Do sada smo naučili kako otvoriti datoteku i zatvoriti je. Sada da vidimo kako možemo čitati podatke iz datoteke pomoću Pythona.

Čitanje datoteka pomoću Pythona

Postoji mnogo načina na koje možemo čitati podatke iz otvorene datoteke u pythonu, ali najčešći je način pomoću funkcija read (), readline () i readlines ().

Funkcija čitanja ()

Kao argument prihvaća broj bajtova koji se čita iz datoteke i čita tu količinu bajtova iz datoteke.

Ako ne pružimo nijedan argument ili ne koristimo None ili -1 kao argument funkcije read (), tada će se čitava datoteka čitati u načinu samo za čitanje.

Primjer:

s otvorenim ("naziv datoteke.txt ") kao file_obj: # pomoću funkcije read () za čitanje bajtova # iz datoteke objekt riječi = file_obj.read () print (riječi)

Izlaz:

čitanje podataka iz datoteke pomoću funkcije read ()

Možda ćete trebati stvoriti uzorak datoteke.txt s demo sadržajem ili navedite druge datoteke u argumentu funkcije open () prije pokretanja programa; Inače, python će baciti FileNotFoundError kao što je prikazano dolje.

Traceback (najnoviji zadnji poziv): Datoteka "datoteka.py ", redak 1, u s open (" naziv datoteke.txt ") kao file_obj: FileNotFoundError: [Errno 2] Nema takve datoteke ili direktorija: 'naziv datoteke.txt '

Funkcija read () nevjerojatan je način čitanja bajtova iz datoteke, ali postoji više načina za čitanje podataka iz datoteke. Uglavnom postoje dvije druge metode za čitanje podataka iz datoteke. Oni su metode readline () i readlines ().

Funkcija readline ()

Funkcija readline () koristi se za čitanje retka odjednom. Svaki put kad ga pokrenemo, dobit ćemo sljedeći redak datoteke.

Primjer:

s otvorenim ("naziv datoteke.txt "," r ") kao fileobj: ispis (fileobj.readline ()) # ispis ispisa prvog retka (fileobj.readline ()) # ispisuje drugi redak

Izlaz: Ispisat ćemo prvi i drugi redak datoteke.

čitanje podataka pomoću funkcije readline ()

Također možemo proslijediti broj znakova za čitanje iz retka kao argument funkciji readline ().

Primjer:

s otvorenim ("naziv datoteke.txt "," r ") kao fileobj: ispis (fileobj.readline (15)) # ispisuje prvih 15 bajtova

Izlaz:

određivanje broja znakova u funkciji readine ()

Funkcija readlines ()

Funkcija readlines () koristi se za čitanje svih redaka datoteke. Ova će funkcija vratiti popis svih redaka prisutnih u datoteci. Ako ne trebamo pokretati sve retke, tada kao argument možemo odrediti i broj redaka koji nam trebaju.

Primjer:

s otvorenim ("naziv datoteke.txt "," r ") kao fileobj: ispis (fileobj.readlines ()) # vraća popis svih redaka

Izlaz:

funkcija readlines ()

Pisanje datoteka pomoću Pythona

Da bismo podatke zapisali u datoteku pomoću pythona, trebamo koristiti metodu write () objekta datoteke. Funkcija pisanja prihvaća podatke kao argument koji želimo upisati u datoteku.

Primjer:

line = "Ovo je novi redak \ n" s open ("naziv datoteke.txt "," w ") kao fileobj: ispis (fileobj.napiši (redak))

Pri pokretanju koda, svi naziv datoteke.txt podaci će biti zamijenjeni nizom "Ovo je novi redak". Ako nemate naziv datoteke.txt datoteka koja je prethodno bila prisutna, tada će je stvoriti.

Dodavanje datoteka

Tijekom pisanja datoteke kao što smo to radili u prethodnom kodu, mogli biste primijetiti da novi podaci zamjenjuju sve prethodne podatke koji su prisutni u datoteci. Ponekad se od nas traži da dodamo nove podatke umjesto da ih prepisujemo. Moramo otvoriti datoteku pomoću načina "a", a zatim upotrijebiti funkciju write () za upisivanje podataka.

Primjer:

line = "\ nOvo je novi redak" s open ("naziv datoteke.txt "," a ") kao fileobj: ispis (fileobj.napiši (redak))

Imat ćemo novi redak zapisan u nazivu datoteke.txt bez zamjene prethodnih redaka prilikom izvođenja koda.

Preimenovanje i brisanje datoteka

Da bismo preimenovali datoteku, trebamo koristiti funkciju preimenovanja () os modula. Funkcija preimenovanja prihvaća dva važna argumenta, prvi argument je put do datoteke koju želimo preimenovati, a drugi argument je novo ime izvorne datoteke.

Primjer:

uvoz os os.preimenovati ("datoteka1.txt, datoteka2.txt ")

Kôd će preimenovati datoteku datoteka1.txt s imenom datoteka2.txt.

Da bismo datoteku izbrisali pomoću pythona, trebamo upotrijebiti ukloniti() funkcija os modul.

Primjer:

uvoz os os.remove ("uzorak.txt ")

Ovo će izbrisati datoteku uzorak.txt prisutan u trenutnom direktoriju. Također možete dati putanju datoteke ako je ona prisutna u drugim direktorijima. Ako datoteka ne postoji u zadanom putu, dobit ćemo FileNotFoundError. Za rješavanje pogrešaka koristite metodu rukovanja iznimkama navedenu u prethodnoj podtemi.

Zaključak

U ovom uputstvu naučili smo sve što je potrebno za rad s datotekama u pythonu, kao što je stvaranje datoteka, čitanje podataka iz datoteka, pisanje podataka u datoteke, uklanjanje i preimenovanje datoteka itd.

Također se možete obratiti našem vodiču korak po korak o radu s SQLite bazom podataka na pythonu, gdje možete naučiti sve što trebate znati tijekom rada s SQLite bazama podataka u pythonu.

Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...
Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...