Pytonorm

Hur man läser och skriver textfiler i Python

Hur man läser och skriver textfiler i Python
Denna artikel kommer att täcka en guide som förklarar extern filhantering i python. Huvudfokus kommer att vara på att öppna och stänga text och andra icke-binära datafiler som lagras på ett lagringsmedium, så att du kan köra olika funktioner på innehållet i de öppnade filerna.

Öppna och stänga en fil

Att läsa data från en textfil med namnet “data.txt ”, måste du använda den” öppna ”metoden som kommer med officiella Python-byggnader. Kontrollera exempelkoden nedan:

f = öppen ('data.txt ',' r ')
f.stänga()

Det första uttalandet öppnar ”data.txt ”-fil i“ r ”(skrivskyddad) -läge. Metoden "öppen" accepterar ett filnamn och läget för hantering av filen som argument. Förutom “r” -läget finns det även andra lägen som kommer att förklaras senare. Kodavsnittet ovan kör inga operationer på den öppnade filen. Metoden "stäng" används för att stänga den öppnade filen rent så att minnet kan frigöras och för att undvika dataskador i den öppnade filen som ibland kan hända om filen inte stängs ordentligt.

Istället för att använda metoden "öppen" för att hantera öppnande och stängning av filer kan du kombinera den med "med" nyckelord och använda "med öppen" uttalande.

med öppen ('data.txt ',' r ') som f:
passera

Den största fördelen med att använda ett "med öppet" uttalande är att tolk automatiskt stänger den öppnade filen säkert när "med öppen" kodblock tolkas helt. Även om skräpsamlare i Python automatiskt stänger öppna filer efter ett tag enligt förinställda regler, säkerställer "med öppna" uttalanden att filen stängs ordentligt så snart kodblocket är klart för att frigöra resurser.

Läserader i en textfil

För att läsa innehållet i en fil, använd kodexemplet nedan:

med öppen ('data.txt ',' r ') som f:
data = f.läsa()
skriva ut (data)

Till exempel om “data.txt ”-filen har 1-10 nummer, var och en på en ny rad, du får följande utdata efter att du har kört ovanstående kod:

1
2
3
4
5
6
7
8
9
10

Hela datadumpen av ”data.txt-filen lagras i ”data” -variabeln. Om du vill läsa rader till en lista kan du använda följande kodprover:

med öppen ('data.txt ',' r ') som f:
data = f.readlines ()
skriva ut (data) med öppen ('data.txt ',' r ') som f:
data = lista (f)
skriva ut (data)

Observera att genom att använda ovanstående utdrag kan du få “\ n” (newline) karaktär i slutet av varje element i listan. Om du vill ta bort dessa nylinjetecken kan du behöva gå igenom listan. Du kan både skapa en ny lista och ta bort nya linjetecken genom att använda följande kod istället:

data_list = []
med öppen ('data.txt ',' r ') som f:
för rad i f:
datalista.lägg till (rad.remsa())
skriva ut (data_lista)

Om du kör koden ovan får du följande resultat:

['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

Skriva data till en öppnad fil

För att skriva data till en fil som öppnas med "med öppen" uttalande måste du ange ett annat öppningsläge som argument. Här är några av lägena:

Vissa kodavsnitt som använder olika lägen för att skriva data listas nedan.

För att skriva nytt innehåll till en textfil medan du raderar befintlig data, använd följande exempel:

med öppen ('data.txt ',' w ') som f:
f.skriv ("1 \ n2")

Efter att ha kört kodavsnittet ovan, 1-10 siffror i “data.txt-filen bör ersättas med två nya rader.

För att lägga till rader i början av en textfil måste du använda "sök" -metoden för att gå tillbaka till startpositionen för filbufferten:

med öppen ('data.txt ',' r + ') som f:
data = f.läsa()
f.söka (0)
f.skriv ("- 1 \ n0 \ n")
f.skriv (data)

Efter att ha kört kodavsnittet ovan läggs -1 och 0 siffror till de två översta raderna i ”data.txt-filer.

För att lägga till data i slutet av filen, använd följande exempel:

med öppen ('data.txt ',' a ') som f:
f.skriv ("11 \ n12")

Efter att ha kört kodavsnittet ovan läggs 11 och 12 nummer till i slutet av filen.

Slutsats

Inbyggda klasser och metoder i Python ger ett robust sätt att hantera textfiler. Med bara några få kodrader kan du manipulera befintlig data i en fil och infoga nya rader.

Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...
Bästa spelkonsolemulatorer för Linux
Den här artikeln listar populära spelkonsolemuleringsprogram som finns tillgängliga för Linux. Emulation är ett mjukvarukompatibilitetsskikt som emule...