Att läsa och skriva till en fil för lagring eller senare användning är vanliga uppgifter inom programmering. Python har ett antal sätt att arbeta med filer, men vi kommer särskilt att fokusera på att skriva till textfiler. Textfiler används för att lagra vanlig textdata, och Python gör det enkelt för programmerare att läsa och skriva data i textfiler.
I den här handledningen kommer vi att förklara hur användare kan skriva i en textfil med Python.
Python har en inbyggd funktion för att skapa, skriva eller läsa filerna. Den kan hantera två typer av filer vanliga textfiler och binära filer. Valet mellan dessa två beror på vilken data du arbetar med och applikationens krav.
Syntax för att öppna 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 acceptera olika parametrar. Men användaren måste fokusera på de två första:
För att skriva i en textfil kommer användaren att använda följande läge:
Läge | Beskrivning |
---|---|
'I' | Den används för att öppna textfilen för att skriva text. Filen är trunkerad i detta läge innebär att det befintliga innehållet i filen raderas. |
'a' | Den används för att öppna textfilen för att lägga till text. Pekaren placeras i slutet av filen och ny data läggs till det befintliga innehållet. |
Exempel: För att visa hur en användare kan skriva i en textfil med Python
file.write(' ') file.writelines(' ')
Det är helt upp till användaren om de vill lägga till texten på följande rad eller inte.
fet text i css
Exempel 2: För att visa hur man använder funktionen write() för att skriva listan med texter i textfilen
# 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:
Båda metoderna ger samma resultat.
Steg för att skriva i en textfil i Python:
För att skriva i textfilen med hjälp av Pytonorm , måste användaren följa följande steg:
Steg 1 - Öppna filen - För att börja skriva till en textfil måste vi först öppna den med den inbyggda open()-funktionen, som tar två parametrar: filnamnet (inklusive sökvägen om filen inte finns i den aktuella katalogen) och läget i som vi vill öppna filen. När det gäller att skriva till en textfil kan vi antingen använda läget 'w', som står för skrivläge, eller läget 'a', som står för append-läge. Om filen inte finns kommer Python att skapa en ny fil med det angivna namnet.
# Opening a file 'example.txt' file = open('example.txt', 'w')
Open()-funktionen returnerar ett filobjekt, och det filobjektet kommer att ha två användbara funktioner för att skriva text i det:
- skriva()
- skrivlinjer()
Write()-funktionen används för att skriva strängen i textfilen, och writelines()-funktionen används för att skriva listan över strängen i filen på en gång.
Writelines()-funktionen kan också acceptera det itererbara objektet. Användaren kan också passera tuppel av strängar, uppsättningen strängar, etc.
För att skriva på nästa rad måste användaren manuellt lägga till det nya radtecknet.
Steg 2 - Skriv till filen: Så snart filen öppnas i skrivläge kan vi antingen använda funktionen write() eller funktionen writelines() för att skriva i den. Metoden write() tar en sträng som en parameter vi vill skriva till filen. Vi kan skriva flera rader genom att anropa funktionen write() flera gånger eller använda nyradstecken ( ) mellan strängar för att separera raderna.
# 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. ')
Steg 3 - Stäng filen: Användaren kan stänga textfilen med funktionen close(). Efter att ha skrivit önskat innehåll till filen är det viktigt att stänga den ordentligt. Att stänga filen säkerställer att alla ändringar sparas och systemresurser frigörs.
# Closing the file file.close()
Exempel 2: För att visa hur användare kan lägga till ett nytt radtecken i en txt-fil
file.write(' ') file.writelines(' ')
Det är helt upp till användarna om de vill lägga till texten på följande rad eller inte.
Exempel 3: För att visa hur man använder funktionen write() för att skriva listan med texter eller strängar i en textfil
# 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:
css-omslutningstext
Förklaring:
I exemplet ovan skapade vi först en lista med strängar med namnet lines_1, och sedan öppnade vi den filen med funktionen open() med 'with'-satsen. Vi använde sedan en for-loop för att iterera över elementen i listan, följt av att skriva raden och lägga till ett nytt linjetecken i filen. Ett nytt linjetecken läggs till i slutet av for-slingan, och pekaren placeras på nästa rad.
Om text.txt-filen inte finns i mappen kommer funktionen open() att skapa den nya filen, och operationerna utförs därefter.
Exempel 4: För att visa hur användare kan skriva listan med textsträngar i text.txt-filen med 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:
Förklaring:
I exemplet ovan skriver funktionen writelines() varje listelement på en enda rad i filen.
Om användaren behandlar varje listelement som en rad, måste de länka det med ett nytt linjetecken.
Exempel 4: För att visa hur en användare kan länka nyradstecknet med varje element på raden i text.txt-filen
Vi har redan sett i exempel nummer 3 hur vi kan lägga till ett nytt linjetecken efter varje listelement. När vi använder funktionen writelines() måste vi lägga till ett nytt linjetecken i strängen.
# 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:
Förklaring:
I exemplet ovan skriver funktionen writelines() listelementet i text.txt-filen, där varje listelement avslutas med ett nytt radtecken.
Slutsats
I den här handledningen har vi förklarat hur en användare kan skriva texter i en textfil med Python och dess olika funktioner. Vi lärde oss först om normala och binära textfiler, följt av syntaxen för hur man öppnar en fil. Vi tittade också på skillnaden mellan 'w' (skrivläge) och 'a' (tilläggsläge). Vi lärde oss sedan om stegen för att skriva i en textfil i Python och implementerade olika exempel för att förstå olika metoder för att skriva i en textfil.