logo

Filhåndtering i Python

Filhåndtering i Python er et kraftfuldt og alsidigt værktøj, der kan bruges til at udføre en lang række operationer. Det er dog vigtigt nøje at overveje fordele og ulemper ved filhåndtering, når du skriver Python-programmer, for at sikre, at koden er sikker, pålidelig og fungerer godt.

I denne artikel vil vi udforske Python-filhåndtering, fordele, ulemper og hvordan åbne, skrive og tilføje funktioner fungerer i python-fil.

Python filhåndtering

Python understøtter filhåndtering og giver brugerne mulighed for at håndtere filer, dvs. læse og skrive filer, sammen med mange andre filhåndteringsmuligheder, for at arbejde på filer. Konceptet med filhåndtering har strakt sig over forskellige andre sprog, men implementeringen er enten kompliceret eller langvarig, ligesom andre begreber i Python, er dette koncept her også nemt og kort. Python behandler filer forskelligt som tekst eller binære, og det er vigtigt. Hver kodelinje indeholder en sekvens af tegn, og de danner en tekstfil. Hver linje i en fil afsluttes med et specialtegn, kaldet EOL eller End of Line karakterer som komma {,} eller nylinjetegn. Den afslutter den aktuelle linje og fortæller tolken, at en ny er begyndt. Lad os starte med læse- og skrivefilerne.



Fordele ved filhåndtering i Python

  • Alsidighed : Filhåndtering i Python giver dig mulighed for at udføre en lang række operationer, såsom oprettelse, læsning, skrivning, tilføjelse, omdøbning og sletning af filer.
  • Fleksibilitet : Filhåndtering i Python er meget fleksibel, da den giver dig mulighed for at arbejde med forskellige filtyper (f.eks. tekstfiler, binære filer, CSV-filer osv.), og til at udføre forskellige handlinger på filer (f.eks. læse, skrive, tilføje osv.).
  • Bruger venlige : Python giver en brugervenlig grænseflade til filhåndtering, hvilket gør det nemt at oprette, læse og manipulere filer.
  • Cross-platform : Python-filhåndteringsfunktioner fungerer på tværs af forskellige platforme (f.eks. Windows, Mac, Linux), hvilket giver mulighed for problemfri integration og kompatibilitet.

Ulemper ved filhåndtering i Python

  • Risiko for fejl: Filhåndteringsoperationer i Python kan være tilbøjelige til fejl, især hvis koden ikke er skrevet omhyggeligt, eller hvis der er problemer med filsystemet (f.eks. filtilladelser, fillåse osv.).
  • Sikkerhedsrisici : Filhåndtering i Python kan også udgøre sikkerhedsrisici, især hvis programmet accepterer brugerinput, der kan bruges til at få adgang til eller ændre følsomme filer på systemet.
  • Kompleksitet : Filhåndtering i Python kan være kompleks, især når man arbejder med mere avancerede filformater eller operationer. Der skal lægges stor vægt på koden for at sikre, at filer håndteres korrekt og sikkert.
  • Ydeevne : Filhåndteringsoperationer i Python kan være langsommere end andre programmeringssprog, især når man håndterer store filer eller udfører komplekse operationer.

Til denne artikel vil vi overveje følgende nørder.txt fil som eksempel.

Hello world techcodeview.com 123 456>

Python-fil Åbn

Før vi udfører nogen handling på filen, såsom læsning eller skrivning, skal vi først åbne den fil. Til dette skal vi bruge Pythons indbyggede funktion åben() men på tidspunktet for åbningen skal vi specificere tilstanden, som repræsenterer formålet med åbningsfilen.

f = open(filename, mode)>

Hvor følgende tilstand er understøttet:

  1. r: åbne en eksisterende fil til en læsehandling.
  2. I: åbne en eksisterende fil til en skriveoperation. Hvis filen allerede indeholder nogle data, vil den blive tilsidesat, men hvis filen ikke er til stede, opretter den også filen.
  3. en: åbne en eksisterende fil for at tilføje betjening. Det vil ikke tilsidesætte eksisterende data.
  4. r+: At læse og skrive data ind i filen. De tidligere data i filen vil blive tilsidesat.
  5. w+: At skrive og læse data. Det vil tilsidesætte eksisterende data.
  6. a+: For at tilføje og læse data fra filen. Det vil ikke tilsidesætte eksisterende data.

Arbejder i læsetilstand

Der er mere end én måde at gøre det på Sådan læser du fra en fil i Python . Lad os se, hvordan vi kan læse indholdet af en fil i læsetilstand.

javascript advarselsboks

Eksempel 1: Open-kommandoen åbner Python-filen i læsetilstand, og for-løkken udskriver hver linje, der er til stede i filen.

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)>

>

>

Produktion:

Hello world techcodeview.com 123 456>

Eksempel 2: I dette eksempel vil vi udtrække en streng, der indeholder alle tegn i Python-filen, så vi kan bruge file.read() .

Python3




# Python code to illustrate read() mode> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read())>

>

>

Produktion:

Hello world techcodeview.com 123 456>

Eksempel 3: I dette eksempel vil vi se, hvordan vi kan læse en fil ved hjælp af med udmelding i Python.

Python3




# Python code to illustrate with()> with>open>(>'geeks.txt'>) as>file>:> >data>=> file>.read()> print>(data)>

>

>

Produktion:

Hello world techcodeview.com 123 456>

Eksempel 4: En anden måde at læse en fil på er at kalde et bestemt antal tegn som i følgende kode, tolken vil læse de første fem tegn af lagrede data og returnere det som en streng:

Python3




# Python code to illustrate read() mode character wise> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read(>5>))>

>

>

Produktion:

Hello>

Eksempel 5: Vi kan også opdele linjer, mens vi læser filer i Python. Funktionen split() opdeler variablen, når der stødes på plads. Du kan også opdele ved hjælp af alle tegn, som du ønsker.

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)>

>

>

Produktion:

['Hello', 'world'] ['techcodeview.com'] ['123', '456']>

Oprettelse af en fil ved hjælp af write()-funktionen

Ligesom at læse en fil i Python, er der en række måder at Skriver til fil i Python . Lad os se, hvordan vi kan skrive indholdet af en fil ved hjælp af funktionen write() i Python.

Arbejder i skrivetilstand

Lad os se, hvordan du opretter en fil, og hvordan skrivetilstanden fungerer.

Eksempel 1: I dette eksempel vil vi se, hvordan skrivetilstanden og funktionen write() bruges til at skrive i en fil. Close()-kommandoen afslutter alle de ressourcer, der er i brug, og frigør systemet for dette særlige program.

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()>

>

>

Produktion:

This is the write commandIt allows us to write in a particular file>

Eksempel 2: Vi kan også bruge den skriftlige erklæring sammen med funktionen with().

Python3




# Python code to illustrate with() alongwith write()> with>open>(>'file.txt'>,>'w'>) as f:> >f.write(>'Hello World!!!'>)>

>

>

Produktion:

Hello World!!!>

Arbejde med Append Mode

Lad os se, hvordan tilføjelsestilstanden fungerer.

Eksempel: Til dette eksempel vil vi bruge Python-filen oprettet i det forrige eksempel.

Python3


nginx



# Python code to illustrate append() mode> file> => open>(>'geek.txt'>,>'a'>)> file>.write(>'This will add this line'>)> file>.close()>

>

>

Produktion:

This is the write commandIt allows us to write in a particular fileThis will add this line>

Der er også forskellige andre kommandoer i Python-filhåndtering, der bruges til at håndtere forskellige opgaver:

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.>

Det er designet til at give meget renere syntaks og undtagelseshåndtering, når du arbejder med kode. Det forklarer, hvorfor det er god praksis at bruge dem med en erklæring, hvor det er relevant. Dette er nyttigt, fordi ved at bruge denne metode lukkes alle åbnede filer automatisk, når en er færdig, så automatisk oprydning.

Implementering af alle funktioner i filhåndtering

I dette eksempel vil vi dække alle de begreber, vi har set ovenfor. Bortset fra dem vil vi også se, hvordan vi kan slette en fil ved hjælp af funktionen remove() fra Python os modul .

Python3




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)>

>

>

Produktion:

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.>