Læsning og skrivning til en fil til lagring eller senere brug er almindelige opgaver i programmering. Python har en række måder at arbejde med filer på, men vi vil især fokusere på at skrive til tekstfiler. Tekstfiler bruges til at gemme almindelig tekstdata, og Python gør det nemt for programmører at læse og skrive data i tekstfiler.
I denne tutorial vil vi forklare, hvordan brugere kan skrive i en tekstfil ved hjælp af Python.
Python har en indbygget funktion til at oprette, skrive eller læse filerne. Det kan håndtere to typer filer, normale tekstfiler og binære filer. Valget mellem disse to afhænger af de data, du arbejder på, og applikationens krav.
Syntaks for at åbne en fil i Python:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
Open()-funktionen kan acceptere forskellige parametre. Men brugeren skal fokusere på de to første:
For at skrive i en tekstfil vil brugeren bruge følgende tilstand:
Mode | Beskrivelse |
---|---|
'I' | Det bruges til at åbne tekstfilen til at skrive tekst. Filen er trunkeret i denne tilstand betyder, at det eksisterende indhold af filen slettes. |
'en' | Det bruges til at åbne tekstfilen for at tilføje tekst. Markøren placeres i slutningen af filen, og nye data føjes til det eksisterende indhold. |
Eksempel: For at vise, hvordan en bruger kan skrive i en tekstfil ved hjælp af Python
file.write(' ') file.writelines(' ')
Det er helt op til brugeren, om de vil tilføje teksten i den følgende linje eller ej.
fjern første tegn excel
Eksempel 2: For at vise, hvordan man bruger skrive()-funktionen til at skrive listen over tekster i tekstfilen
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Produktion:
Begge metoder giver det samme resultat.
Trin til at skrive i en tekstfil i Python:
Til at skrive i tekstfilen ved hjælp af Python , skal brugeren følge følgende trin:
Trin 1 - Åbn filen - For at begynde at skrive til en tekstfil, skal vi først åbne den ved hjælp af den indbyggede open()-funktion, som tager to parametre: filnavnet (inklusive stien, hvis filen ikke er i den aktuelle mappe) og tilstanden i som vi vil åbne filen. I tilfælde af at skrive til en tekstfil, kan vi enten bruge tilstanden 'w', som står for skrivetilstand, eller tilstanden 'a', som står for tilføjelsestilstand. Hvis filen ikke eksisterer, vil Python oprette en ny fil med det angivne navn.
# Opening a file 'example.txt' file = open('example.txt', 'w')
Open()-funktionen returnerer et filobjekt, og det filobjekt vil have to nyttige funktioner til at skrive tekst i det:
- skrive()
- skrivelinjer()
Write()-funktionen bruges til at skrive strengen i tekstfilen, og writelines()-funktionen bruges til at skrive listen over strengen i filen på én gang.
Writelines()-funktionen kan også acceptere det iterable objekt. Brugeren kan også videregive tuple af strenge, sættet af strenge osv.
For at skrive i den næste linje skal brugeren manuelt tilføje det nye linjetegn.
Trin 2 - Skriv til filen: Så snart filen er åbnet i skrivetilstand, kan vi enten bruge funktionen write() eller funktionen writelines() til at skrive i den. Write()-metoden tager en streng som en parameter, vi vil skrive til filen. Vi kan skrive flere linjer ved at kalde funktionen write() flere gange eller bruge nye linjetegn ( ) mellem strenge for at adskille linjerne.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Trin 3 - Luk filen: Brugeren kan lukke tekstfilen ved hjælp af close()-funktionen. Efter at have skrevet det ønskede indhold til filen, er det vigtigt at lukke den ordentligt. Lukning af filen sikrer, at eventuelle ændringer gemmes, og systemressourcer frigøres.
# Closing the file file.close()
Eksempel 2: For at vise, hvordan brugere kan tilføje et nyt linjetegn i en txt-fil
file.write(' ') file.writelines(' ')
Det er helt op til brugerne, om de vil tilføje teksten i den efterfølgende linje eller ej.
Eksempel 3: For at vise, hvordan man bruger funktionen write() til at skrive listen over tekster eller strenge i en tekstfil
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Produktion:
Forklaring:
I ovenstående eksempel oprettede vi først en liste over strenge med navnet lines_1, og derefter åbnede vi filen ved at bruge funktionen open() med sætningen 'with'. Vi brugte derefter en for-loop til at iterere over elementerne på listen, efterfulgt af at skrive linjen og tilføje et nyt linjetegn til filen. Et nyt linjetegn tilføjes i slutningen af for-løkken, og markøren placeres på den næste linje.
Hvis filen text.txt ikke findes i mappen, vil funktionen open() oprette den nye fil, og handlingerne udføres i overensstemmelse hermed.
Eksempel 4: For at vise, hvordan brugere kan skrive listen over tekststrenge i filen text.txt ved hjælp af funktionen writelines():
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Produktion:
Forklaring:
I ovenstående eksempel skriver funktionen writelines() hvert listeelement på en enkelt linje i filen.
Hvis brugeren behandler hvert listeelement som en linje, skal de forbinde det med et nyt linjetegn.
Eksempel 4: For at vise, hvordan en bruger kan linke newline-tegnet med hvert element i linjen i text.txt-filen
Vi har allerede i eksempel nummer 3 set, hvordan vi kan tilføje et nyt linjetegn efter hvert listeelement. Mens vi bruger funktionen writelines() skal vi tilføje et nyt linjetegn i strengen.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Produktion:
Forklaring:
java throw undtagelse
I ovenstående eksempel skriver funktionen writelines() listeelementet ind i filen text.txt, hvor hvert listeelement afsluttes med et nyt linjetegn.
Konklusion
I denne vejledning har vi forklaret, hvordan en bruger kan skrive tekster i en tekstfil ved hjælp af Python og dens forskellige funktioner. Vi lærte først om normale og binære tekstfiler, efterfulgt af syntaksen for, hvordan man åbner en fil. Vi så også over forskellen mellem 'w' (skrivetilstand) og 'a' (tilføj tilstand). Vi lærte derefter om trinene til at skrive i en tekstfil i Python og implementerede forskellige eksempler for at forstå forskellige metoder til at skrive i en tekstfil.