logo

Pripojiť Python k súboru

Počas čítania alebo zápisu do súboru režim prístupu riadi typ operácií, ktoré sú možné v otvorenom súbore. Vzťahuje sa na to, ako sa bude súbor používať po jeho otvorení. Tieto režimy tiež definujú umiestnenie rukoväte súboru v súbore. Definícia týchto režimov prístupu je nasledovná:

    Pripojiť iba („a“): Otvorte súbor na zápis. Pripojiť a prečítať (‚a+‘): Otvorenie súboru na čítanie a zápis.

Keď je súbor otvorený v režime pripojenia v Pythone, rukoväť je umiestnená na konci súboru. Zapisované dáta budú vložené na koniec, za existujúce dáta.



Príklad 1: Program Python na ilustráciu režimu Append vs.

Python3

typy sietí








file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London'>]> file1.writelines(L)> file1.close()> # Append-adds at last> file1>=> open>(>'myfile.txt'>,>'a'>)># append mode> file1.write(>'Today '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.read())> print>()> file1.close()> # Write-Overwrites> file1>=> open>(>'myfile.txt'>,>'w'>)># write mode> file1.write(>'Tomorrow '>)> file1.close()> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after writing'>)> print>(file1.read())> print>()> file1.close()>

>

>

Výkon:

Output of Readlines after appending This is Delhi This is Paris This is LondonToday Output of Readlines after writing Tomorrow>

Príklad 2: Pripojte údaje z nového riadku

Vo vyššie uvedenom príklade manipulácia so súbormi , je vidieť, že údaje nie sú pridané z nového riadku. Môžete to urobiť zapísaním znaku nového riadku „ “ do súboru.

Python3




# Python program to illustrate> # append from new line> file1>=> open>(>'myfile.txt'>,>'w'>)> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London'>]> file1.writelines(L)> file1.close()> # Append-adds at last> # append mode> file1>=> open>(>'myfile.txt'>,>'a'>)> # writing newline character> file1.write(>' '>)> file1.write(>'Today'>)> # without newline character> file1.write(>'Tomorrow'>)> file1>=> open>(>'myfile.txt'>,>'r'>)> print>(>'Output of Readlines after appending'>)> print>(file1.read())> print>()> file1.close()>

dopredné reťazenie

>

>

Výkon:

Output of Readlines after appending This is Delhi This is Paris This is London TodayTomorrow>

Poznámka: „ “ sa považuje za špeciálny znak pozostávajúci z dvoch bajtov.

Príklad 3: Použitie príkazu With v Pythone

s výpisom sa používa pri spracovaní výnimiek, aby bol kód čistejší a oveľa čitateľnejší. Zjednodušuje správu bežných zdrojov, ako sú prúdy súborov. Na rozdiel od vyššie uvedených implementácií nie je potrebné volať file.close() pri použití s ​​príkazom. Samotný príkaz with zabezpečuje správne získanie a uvoľnenie zdrojov.

Python3


vlk vs líška



# Program to show various ways to> # append data to a file using> # with statement> L>=> [>'This is Delhi '>,>'This is Paris '>,>'This is London '>]> # Writing to file> with>open>(>'myfile.txt'>,>'w'>) as file1:> ># Writing data to a file> >file1.write(>'Hello '>)> >file1.writelines(L)> # Appending to file> with>open>(>'myfile.txt'>,>'a'>) as file1:> >file1.write(>'Today'>)> # Reading from file> with>open>(>'myfile.txt'>,>'r+'>) as file1:> ># Reading form a file> >print>(file1.read())>

>

veľkosť vektora c++

>

Výkon:

Hello This is Delhi This is Paris This is London Today>

Poznámka: Ak chcete vedieť viac o s vyhlásením kliknite tu .

Použitie modulu Shutil:

Tento prístup používa metódu Shutil.copyfileobj() na pripojenie obsahu iného súboru (zdrojový_súbor) do súboru „file.txt“. To môže byť užitočné, ak chcete pripojiť obsah jedného súboru k druhému bez toho, aby ste museli najprv načítať obsah do pamäte.

Prístup:
Kód používa funkciu Shutil.copyfileobj() na skopírovanie obsahu objektu source_file do nového súboru s názvom file.txt. Príkaz with sa používa na otvorenie a automatické zatvorenie súboru pomocou objektu súboru f.

Časová zložitosť:
Časová zložitosť funkcie Shutil.copyfileobj() je úmerná veľkosti kopírovaného súboru, pretože potrebuje prečítať a zapísať každý bajt súboru. Časová zložitosť kódu je teda O(n), kde n je veľkosť zdrojového_súboru.

Priestorová zložitosť:
Priestorová zložitosť kódu je O(1), keďže neprideľuje žiadnu dodatočnú pamäť nad rámec toho, čo je potrebné pre súborové objekty source_file a f. Funkcia shutil.copyfileobj() skopíruje obsah súboru po častiach, takže nie je potrebné načítať celý súbor do pamäte naraz.

Celkovo má kód lineárnu časovú zložitosť a konštantnú priestorovú zložitosť, pričom časová zložitosť je úmerná veľkosti kopírovaného súboru.

Python3




import> shutil> with>open>(>'file.txt'>,>'a'>) as f:> >shutil.copyfileobj(source_file, f)>

>

príklady programovania v pythone

>