2 min read

Redigera Textfiler med Python - En Guide

En guide i hur du öppnar, redigerar och läser filer i python
Redigera Textfiler med Python - En Guide
Photo by Fatos Bytyqi / Unsplash

Tjenare! Hoppas programmeringen går fint, här kommer ett inlägg med lite annat format. Kommentera gärna om det hjälpte och för att låta oss veta vilket ämne du hade velat ha en skriven guide på (:


Redigera text med Python

Att redigera textfiler kan göra det möjligt att spara data i ett program även efter att det stängs ner. Här kommer en introguide till hur du skapar, redigerar och använder data från textfiler via python


4 Funktioner

textfil = open("filnamn", "w+")

Öppnar eller skapar en fil i samma mapp som pythonfilen ligger i. "filnamn" ersätter du med det namnet som du vill att filen ska ha. "w+" står för vilket läge datorn ska öppna filen i och har 3 alternativ. Det som används nu är Write +, eller "w+". Med det läget så kan du både skriva och läsa. Notera att varje gång du öppnar en fil med write så suddas allting som tidigare fanns i dokumentet ut.

Det finns två andra användbara lägen, "a" och "r". "a" står för append, och ger dig således endast rättigheter att lägga till på en redan existerande fil. "r" står read endast inläsning av filen.


textfil.write("exempeltext")

Write gör exakt det man tror att den gör. Den skriver det som du sätter i parantesen in i filen. Tänk på att använda indata som är av typen string.


textlista = ["hejsan", "svejsan"]
textfil.writelines(textlista)

Writelines gör nästan samma som write. Skillnaden är att writelines fungerar med listor om input. Om du har en lista med saker du ska skriva ut så är det writelines du ska använda.


läs = textfil.read()

För att läsa filen så använder man .read()

Kommandot läser hela filen, men man kan lätt stöta på problem. .read() fungerar som en människa som läser från början till slut, men "läsaren" går inte tillbaka till början av texten när den är färdig.

Det jag menar med det är att om du inte säger åt .read() att gå tillbaka till början av dokumentet innan du läser så kommer läsningen att börja vid slutet av dokumentet och inte göra någonting, inte bra.

Lösningen till detta problemet är .seek(0)

Seek med en nolla som argument sätter "läsaren" till början av dokumentet.

Således så är här ett exempel på ett program som läser en textfil från början till slut varje gång.

f = open("textfil.txt", "r")
 
f.seek(0)
 
print(f.read())
f.close()

textfil.close()

För att ditt arbete ska sparas så måste du, när du är färdig med filen, stänga den. Det gör du genom att använda .close().


Avslutning

Tack för att du läste!

Om du vill testa dina kunskaper så är en bra förstauppgift att skapa en fil och skriva ner valfri text.

Sedan så är en rimlig utmaning att läsa från den filen som du nyss skrev.

Hoppas att detta hjälpte!

// Måns