Manipulácia so súbormi v Pythone je výkonný a všestranný nástroj, ktorý možno použiť na vykonávanie širokej škály operácií. Je však dôležité starostlivo zvážiť výhody a nevýhody manipulácie so súbormi pri písaní programov Python, aby ste sa uistili, že kód je bezpečný, spoľahlivý a funguje dobre.
V tomto článku budeme skúmať Manipulácia so súbormi Python, výhody, nevýhody a ako fungujú funkcie otvárania, zapisovania a pripájania v súbore python.
Manipulácia so súbormi Python
Python podporuje prácu so súbormi a umožňuje používateľom manipulovať so súbormi, t. j. čítať a zapisovať súbory spolu s mnohými ďalšími možnosťami spracovania súborov, aby mohli pracovať so súbormi. Koncepcia manipulácie so súbormi sa rozšírila do rôznych iných jazykov, ale implementácia je buď komplikovaná alebo zdĺhavá, podobne ako iné koncepcie Pythonu, aj tu je tento koncept jednoduchý a krátky. Python zaobchádza so súbormi inak ako s textovými alebo binárnymi súbormi a to je dôležité. Každý riadok kódu obsahuje postupnosť znakov a tvoria textový súbor. Každý riadok súboru je ukončený špeciálnym znakom, ktorý sa nazýva EOL alebo Koniec riadku postavy ako čiarka {,} alebo znak nového riadku. Ukončí aktuálny riadok a oznámi tlmočníkovi, že začal nový. Začnime s čítaním a zapisovaním súborov.
Výhody spracovania súborov v Pythone
- Všestrannosť : Manipulácia so súbormi v Pythone vám umožňuje vykonávať širokú škálu operácií, ako je vytváranie, čítanie, zápis, pridávanie, premenovanie a odstraňovanie súborov.
- Flexibilita : Manipulácia so súbormi v Pythone je vysoko flexibilná, pretože vám umožňuje pracovať s rôznymi typmi súborov (napr. textové súbory, binárne súbory, súbory CSV , atď.) a na vykonávanie rôznych operácií so súbormi (napr. čítanie, zápis, pridávanie atď.).
- Používateľ – priateľský : Python poskytuje užívateľsky prívetivé rozhranie na prácu so súbormi, ktoré uľahčuje vytváranie, čítanie a manipuláciu so súbormi.
- Viacplatformový : Funkcie na prácu so súbormi Pythonu fungujú na rôznych platformách (napr. Windows, Mac, Linux), čo umožňuje bezproblémovú integráciu a kompatibilitu.
Nevýhody spracovania súborov v Pythone
- Náchylná k chybám: Operácie spracovania súborov v Pythone môžu byť náchylné na chyby, najmä ak kód nie je napísaný starostlivo alebo ak sa vyskytnú problémy so systémom súborov (napr. povolenia súborov, zámky súborov atď.).
- Bezpečnostné riziká : Manipulácia so súbormi v Pythone môže tiež predstavovať bezpečnostné riziká, najmä ak program akceptuje vstup používateľa, ktorý možno použiť na prístup alebo úpravu citlivých súborov v systéme.
- Zložitosť : Manipulácia so súbormi v Pythone môže byť zložitá, najmä pri práci s pokročilejšími formátmi súborov alebo operáciami. Kódu je potrebné venovať dostatočnú pozornosť, aby sa zabezpečilo správne a bezpečné zaobchádzanie so súbormi.
- Výkon : Operácie spracovania súborov v Pythone môžu byť pomalšie ako v iných programovacích jazykoch, najmä pri práci s veľkými súbormi alebo pri vykonávaní zložitých operácií.
Pre tento článok zvážime nasledujúce geeks.txt súbor ako príklad.
Hello world techcodeview.com 123 456>
Otvoriť súbor Python
Pred vykonaním akejkoľvek operácie so súborom, ako je čítanie alebo zápis, musíme tento súbor najskôr otvoriť. Na tento účel by sme mali použiť vstavanú funkciu Pythonu OTVORENÉ() ale v čase otvárania musíme špecifikovať režim, ktorý predstavuje účel otvárania súboru.
f = open(filename, mode)>
Kde je podporovaný nasledujúci režim:
- r: otvorte existujúci súbor na operáciu čítania.
- V: otvorte existujúci súbor na operáciu zápisu. Ak súbor už obsahuje nejaké údaje, bude prepísaný, ale ak súbor nie je prítomný, vytvorí sa tiež.
- a: otvorte existujúci súbor na operáciu pripojenia. Neprepíše existujúce údaje.
- r+: Na čítanie a zápis údajov do súboru. Predchádzajúce údaje v súbore budú prepísané.
- w+: Na zapisovanie a čítanie údajov. Prepíše existujúce údaje.
- a+: Na pridanie a načítanie údajov zo súboru. Neprepíše existujúce údaje.
Práca v režime čítania
Existuje viac ako jeden spôsob Ako čítať zo súboru v Pythone . Pozrime sa, ako môžeme čítať obsah súboru v režime čítania.
ako prerobiť vo Photoshope
Príklad 1: Príkaz open otvorí súbor Python v režime čítania a cyklus for vytlačí každý riadok prítomný v súbore.
Python3
# a file named 'geek', will be opened with the reading mode.> file> => open>(>'geek.txt'>,>'r'>)> # This will print every line one by one in the file> for> each>in> file>:> >print> (each)> |
>
>
Výkon:
Hello world techcodeview.com 123 456>
Príklad 2: V tomto príklade extrahujeme reťazec, ktorý obsahuje všetky znaky v súbore Python, ktorý môžeme použiť file.read() .
Python3
# Python code to illustrate read() mode> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read())> |
>
>
Výkon:
Hello world techcodeview.com 123 456>
Príklad 3: V tomto príklade uvidíme, ako môžeme čítať súbor pomocou s vyhlásenie v Pythone.
Python3
# Python code to illustrate with()> with>open>(>'geeks.txt'>) as>file>:> >data>=> file>.read()> print>(data)> |
>
>
Výkon:
Hello world techcodeview.com 123 456>
Príklad 4: Ďalším spôsobom, ako čítať súbor, je zavolať určitý počet znakov, ako v nasledujúcom kóde, tlmočník prečíta prvých päť znakov uložených údajov a vráti ich ako reťazec:
Python3
# Python code to illustrate read() mode character wise> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read(>5>))> |
>
>
Výkon:
Hello>
Príklad 5: Rozdeľovať riadky môžeme aj pri čítaní súborov v Pythone. Funkcia split() rozdelí premennú, keď narazí na medzeru. Môžete tiež rozdeliť pomocou ľubovoľných znakov, ako chcete.
Python3
# Python code to illustrate split() function> with>open>(>'geeks.txt'>,>'r'>) as>file>:> >data>=> file>.readlines()> >for> line>in> data:> >word>=> line.split()> >print> (word)> |
>
>
Výkon:
['Hello', 'world'] ['techcodeview.com'] ['123', '456']>
Vytvorenie súboru pomocou funkcie write().
Rovnako ako čítanie súboru v Pythone, existuje niekoľko spôsobov Zápis do súboru v Pythone . Pozrime sa, ako môžeme zapísať obsah súboru pomocou funkcie write() v Pythone.
Práca v režime zápisu
Pozrime sa, ako vytvoriť súbor a ako funguje režim zápisu.
Príklad 1: V tomto príklade uvidíme, ako sa režim zápisu a funkcia write() používajú na zápis do súboru. Príkaz close() ukončí všetky používané prostriedky a uvoľní systém od tohto konkrétneho programu.
Python3
# Python code to create a file> file> => open>(>'geek.txt'>,>'w'>)> file>.write(>'This is the write command'>)> file>.write(>'It allows us to write in a particular file'>)> file>.close()> |
>
>
Výkon:
This is the write commandIt allows us to write in a particular file>
Príklad 2: Písomný príkaz môžeme použiť aj spolu s funkciou with().
Python3
# Python code to illustrate with() alongwith write()> with>open>(>'file.txt'>,>'w'>) as f:> >f.write(>'Hello World!!!'>)> |
>
>
Výkon:
Hello World!!!>
Práca v režime pripojenia
Pozrime sa, ako funguje režim pripojenia.
Príklad: V tomto príklade použijeme súbor Python vytvorený v predchádzajúcom príklade.
Python3
# Python code to illustrate append() mode> file> => open>(>'geek.txt'>,>'a'>)> file>.write(>'This will add this line'>)> file>.close()> |
>
>
Výkon:
This is the write commandIt allows us to write in a particular fileThis will add this line>
V práci so súbormi Python existujú aj rôzne ďalšie príkazy, ktoré sa používajú na spracovanie rôznych úloh:
rstrip(): This function strips each line of a file off spaces from the right-hand side. lstrip(): This function strips each line of a file off spaces from the left-hand side.>
Je navrhnutý tak, aby poskytoval oveľa čistejšiu syntax a spracovanie výnimiek pri práci s kódom. To vysvetľuje, prečo je dobrým zvykom používať ich s vyhlásením, ak je to vhodné. Je to užitočné, pretože pri použití tejto metódy sa všetky otvorené súbory po dokončení automaticky zatvoria, takže sa vykoná automatické čistenie.
Implementácia všetkých funkcií pri práci so súbormi
V tomto príklade pokryjeme všetky pojmy, ktoré sme videli vyššie. Okrem toho uvidíme, ako môžeme odstrániť súbor pomocou funkcie remove() z Pythonu os modul .
Python3
poradie náhodne v sql
import> os> def> create_file(filename):> >try>:> >with>open>(filename,>'w'>) as f:> >f.write(>'Hello, world!
'>)> >print>(>'File '> +> filename>+> ' created successfully.'>)> >except> IOError:> >print>(>'Error: could not create file '> +> filename)> def> read_file(filename):> >try>:> >with>open>(filename,>'r'>) as f:> >contents>=> f.read()> >print>(contents)> >except> IOError:> >print>(>'Error: could not read file '> +> filename)> def> append_file(filename, text):> >try>:> >with>open>(filename,>'a'>) as f:> >f.write(text)> >print>(>'Text appended to file '> +> filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not append to file '> +> filename)> def> rename_file(filename, new_filename):> >try>:> >os.rename(filename, new_filename)> >print>(>'File '> +> filename>+> ' renamed to '> +> new_filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not rename file '> +> filename)> def> delete_file(filename):> >try>:> >os.remove(filename)> >print>(>'File '> +> filename>+> ' deleted successfully.'>)> >except> IOError:> >print>(>'Error: could not delete file '> +> filename)> if> __name__>=>=> '__main__'>:> >filename>=> 'example.txt'> >new_filename>=> 'new_example.txt'> >create_file(filename)> >read_file(filename)> >append_file(filename,>'This is some additional text.
'>)> >read_file(filename)> >rename_file(filename, new_filename)> >read_file(new_filename)> >delete_file(new_filename)> |
>
>
Výkon:
File example.txt created successfully. Hello, world! Text appended to file example.txt successfully. Hello, world! This is some additional text. File example.txt renamed to new_example.txt successfully. Hello, world! This is some additional text. File new_example.txt deleted successfully.>