Hur man läser och skriver filer i Python
Att läsa från och skriva till filer är en vanlig uppgift inom programmering, och Python gör det enkelt med sina inbyggda filhanteringsmöjligheter. Att förstå hur man arbetar med filer är viktigt för alla Python-programmerare, eftersom det låter dig hantera datalagring, loggning, konfigurationshantering och mer. Den här guiden kommer att täcka hur man öppnar, läser, skriver och stänger filer i Python, samt hur man hanterar olika fillägen.
Öppna och stänga filer
I Python använder du open()
-funktionen för att öppna en fil. Funktionen open()
returnerar ett filobjekt, som tillhandahåller metoder för att läsa och skriva. Det är viktigt att stänga en fil när du är klar med den med close()
-metoden för att frigöra systemresurser.
# Opening and closing a file
file = open("example.txt", "r") # Open file for reading
# Perform file operations
file.close() # Close the file
Läser filer
Det finns flera sätt att läsa innehållet i en fil i Python, beroende på dina behov:
Läs hela filen
Metoden read()
läser hela innehållet i filen till en enda sträng.
# Reading the entire file
with open("example.txt", "r") as file:
content = file.read()
print(content)
Läs rader i en fil
Metoden readline()
läser en rad från filen, medan readlines()
läser alla rader och returnerar dem som en lista.
# Reading lines using readline()
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line.strip())
line = file.readline()
# Reading all lines using readlines()
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line.strip())
Läsa filer rad för rad
Den föredragna metoden för att läsa en fil rad för rad är att använda en för
loop direkt på filobjektet. Detta tillvägagångssätt är minneseffektivt, särskilt för stora filer.
# Reading file line by line using a for loop
with open("example.txt", "r") as file:
for line in file:
print(line.strip())
Skriva till filer
Python låter dig skriva till filer med metoderna write()
och writelines()
. Du måste öppna filen i ett läge som stöder skrivning, som 'w'
(skriv) eller 'a'
(lägg till).
Att skriva till en fil
Metoden write()
skriver en enda sträng till en fil. Att öppna en fil i skrivläge 'w'
kommer att skapa en ny fil eller skriva över en befintlig fil.
# Writing to a file
with open("output.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
Bifoga till en fil
Genom att öppna en fil i tilläggsläge 'a'
kan du lägga till innehåll i slutet av en befintlig fil utan att skriva över dess innehåll.
# Appending to a file
with open("output.txt", "a") as file:
file.write("\nThis line is appended.")
Skriva flera rader
Metoden writelines()
används för att skriva flera rader till en fil. Den förväntar sig en lista med strängar som var och en representerar en linje.
# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
file.writelines(lines)
Fillägen
Pythons open()
-funktion stöder flera lägen för att öppna filer:
'r'
- Läsläge (standard). Öppnar en fil för läsning.'w'
- Skrivläge. Öppnar en fil för skrivning (skapar en ny fil eller trunkerar en befintlig fil).'a'
- Lägg till läge. Öppnar en fil för att lägga till (skapar en ny fil om den inte finns).'r+'
- Läs- och skrivläge. Öppnar en fil för både läsning och skrivning.'b'
- Binärt läge. Öppnar en fil i binärt läge (används med'rb'
,'wb'
, etc.).
Slutsats
Att läsa från och skriva till filer i Python är enkelt när du förstår de grundläggande begreppen och fillägen. Genom att behärska filhantering kan du effektivt hantera data, hantera användarinmatning/utdata och automatisera uppgifter som involverar filoperationer. Öva på att använda dessa tekniker för att bli skicklig i filhantering i Python.