Läsa och skriva filer med Python

Reading Writing Files With Python



Filer används för att lagra och organisera data på en disk. Vi använder ofta filer när vi behöver lagra data permanent på en hårddisk. Säg till exempel att vi bygger ett mjukvarusystem som håller studentrekord. Nu måste vi lagra studentdata permanent för framtida bruk. För detta ändamål kan vi använda filer för att lagra data, och senare kan vi öppna dessa filer och få åtkomst till lagrad data när som helst.

Läsa och skriva filer är mycket vanliga funktioner i Python. Det är enkelt att skapa, läsa och redigera filer i Python. Python har inbyggda funktioner för att läsa och skriva filer. Du kan öppna, skriva och läsa filer med de inbyggda Python-funktionerna. Filoperationerna utförs i följande sekvens:







  • Öppna en fil
  • Läs/skriv fil
  • Stäng filen

Med Python kan du skapa textfiler och binära filer. Textfiler lagrar data i form av tecken och varje rad slutar med ett nyradstecken (‘ n’). I binära filer lagras data i form av byte (1 och 0).



I den här artikeln lär du dig:



  • Några av de olika fillägena i Python
  • Hur man öppnar en fil
  • Hur man skapar en fil
  • Hur man skriver data till en fil
  • Hur man läser en fil

Olika fillägen i Python

Lägen i Python beskriver vilken typ av operation som ska utföras på filen. När du öppnar en fil måste du ange läget. Varje fil har ett filhandtag. Filhandtaget fungerar som en markör som anger var man ska skriva och läsa data. Det är en typ av platspekare. Följande inkluderar några av de olika åtkomstfillägena i Python:





Läge Beskrivning
r Öppnar filen i läsläge. Det här läget väljs som standard om du inte definierar något läge medan du öppnar filen i Python.
i Skriver en fil. Detta läge skapar en fil om filen inte redan finns och skriver över data i filen.
r+ Används för att läsa och skriva filen. Det visar ett fel om filen inte finns.
till Öppnar filen i läget Lägg till. Filhandtaget finns i slutet av filen. Det här läget skriver inte över befintliga data utan börjar skriva data i slutet av filen. En ny fil skapas om filen inte finns.
a + Öppnar filen för att läsa och skriva. Detta öppnar filen i läget Lägg till för att skriva. Data infogas i slutet av filen. En ny fil skapas om filen inte finns.
t Öppnar filen i textläge.

Hur man öppnar en fil

För att öppna en fil i Python, använd den inbyggda öppen() fungera. Funktionen open () tar två argument som ingång, dvs filnamnet och driftsläget. Denna funktion returnerar filobjektet som en utmatning. Det finns ingen anledning att importera någon modul för att använda funktionen open (). Följande är syntaxen för funktionen open ():

file_object= öppen(filnamn,läge)

Här representerar 'filnamn' namnet på den faktiska textfilen, medan 'läge' representerar filåtkomst eller filoperationsläge. Du kan också placera r före 'filnamn' om filnamnet innehåller specialtecken. R placeras enligt följande:



=file_object= öppen(rfile_name,läge)

Till exempel kan filnamnet vara: F: newfolder myfile.txt

Hur man skapar en fil

Funktionen open () kan användas för att skapa filer i Python. Använd tilläggsläget (a) inuti funktionen open () för att skapa filen. Skapa en fil med koden nedan:

fil = öppen('sample.txt','till')

Här skapas ett nytt filobjekt. Filobjektet heter fil. Namnet på den nyskapade textfilen är sample.txt. Textfilen öppnas i läget Lägg till. Den skapar den nya filen om filen inte redan finns. När du har skapat filen måste du stänga filen på följande sätt:

fil.stänga()

Den inbyggda stängningsfunktionen () används för att stänga filen.

Hur man skriver data till en fil

Det finns två funktioner i Python som används för att skriva data i en fil:

  1. skriva()
  2. skrivelser ()

Funktionen write () används för att skriva data med en rad eller enkel sträng till en fil, medan funktionen skrivlinjer () används för att skriva flera rader med data till en textfil. Låt oss se några exempel på hur du skriver data till en fil.

Använda funktionen write ()

I det här exemplet använder vi funktionen write () för att skriva data till en fil. Filen öppnas i skrivläge. n placeras för att ange slutet på raden.

# skapa ett nytt filobjekt och öppna en fil i skrivläge
fil=öppen('sample.txt','i')
# skriva en rad till en fil

fil.skriva('Välkommen till linuxhint n')
# skriva en enda rad till en fil
fil.skriva('Välkommen tillbaka')

#stänga filen
fil.stänga()

Produktion

Raderna har skrivits i textfilerna.

Om vi ​​öppnar filen i skrivläge och ber funktionen write () att skriva fler rader till filen, kommer den att skriva över tidigare data och nya data läggs till i textfilen.

# skapa ett nytt filobjekt och öppna en fil i skrivläge
fil=öppen('sample.txt','i')
# skriva en rad till en fil

fil.skriva('Hej alla n')
# skriva en enda rad till en fil
fil.skriva('Detta är den ersatta strängen')

#stänga filen
fil.stänga()

Produktion

I utdata kan det ses att tidigare data ersätts och nya data läggs till i stället i textfilen.

Om vi ​​vill behålla både tidigare och nya data i filen kan vi öppna filen i läget Lägg till så här:

# skapa ett nytt filobjekt och öppna en fil i tilläggsläge
fil=öppen('sample.txt','till')
# skriva en rad till en fil

fil.skriva('Hej alla n')
# skriva en enda rad till en fil
fil.skriva('Detta är den ersatta strängen n')
# skriva en ny ny rad till en fil
fil.skriva('Detta är den nyligen tillagda strängsträngen n')
#stänga filen
fil.stänga()

Produktion

Använda Writingelines () -funktionen

Funktionen Writelines () används för att skriva flera rader i en text samtidigt, enligt följande:

# skapa ett nytt filobjekt och öppna en fil i skrivläge
fil=öppen('file1.txt','i')
# lagring av flera strängdata i en variabel
sid = ['Hej alla n','Välkommen till linuxhint n','vi använder skrivningsfunktion n']
# använda skrivningsfunktioner för att skriva data i en fil
fil.skrivelser(sid)
#stänga filen
fil.stänga()

Produktion

Hur man läser en fil

För att läsa en fil i Python, öppna först filen i läsläge. Det finns tre inbyggda funktioner i Python för att läsa en fil. Dessa inkluderar följande:

  1. läsa()
  2. readline ()
  3. readlines ()

läsa(): Används för att läsa data från en fil; returnerar hela data i form av sträng.

readline (): Läser en datarad från en fil; returnerar bara den första raden.

readlines (): Läser alla befintliga rader från en fil; returnerar den i form av en lista.

Sök -funktionen () används för att ändra filhandtagets position. När du läser data i filen positionerar filhandtaget sig i slutet av filen. Således är ett filhandtag som en markör, med funktionen seek () som medel för att flytta markören.

Låt oss se ett exempel på att läsa data från filen.

# öppna en fil i läsläge
fil=öppen('file1.txt','r')
# med funktionen read () för att läsa data från filen
# lagra raderna i en variabel
data=fil.läsa()
# skriva ut data
skriva ut('Detta är utdata från läsningsfunktionen (): n')
skriva ut(data)

# använder sök () -funktionen för att starta filpositionen
fil.söka(0)
# med funktionen readline () för att läsa data från filen
# lagra raderna i en variabel
data=fil.läsrad()
# skriva ut data
skriva ut('Detta är utdata från funktionen readline (): n')
skriva ut(data)

# använder sök () -funktionen för att starta filpositionen
fil.söka(0)
# med funktionen readlines () för att läsa data från filen
# lagra raderna i en variabel
data=fil.läsrad()
# skriva ut data
skriva ut('Detta är utmatningen av funktionen readlines (): n')
skriva ut(data)
#stänga filen
fil.stänga()

Produktion

Slutsats

Det är ofta nödvändigt att lagra information eller data i en fil. I Python kan du enkelt skapa, skriva och läsa filer med de inbyggda Python-funktionerna. Det finns ingen anledning att importera andra moduler till ditt program när du vill läsa, skriva och skapa filer. Du kan också använda flera inbyggda åtkomstlägen när du använder filerna. I denna artikel har vi förklarat hur man läser och skriver filer i Python med några enkla exempel.