Introduktion till Python-filoperationer
Python är enkelt, kraftfullt och ett av de mycket använda programmeringsspråken för webbutveckling. Som ett av de kraftfulla språken ger det möjligheten att filhantera sina användare. Det gör det möjligt att skapa, läsa, skriva, uppdatera och radera en fil. Till skillnad från andra programmeringsspråk är Python ett mycket enkelt sätt att hantera filerna. Python behandlar binära och textfiler annorlunda. Innan vi utför några åtgärder i en fil måste vi först öppna den och sedan stänga efter att operationerna är gjorda för att frigöra resurserna som är kopplade till den. I det här ämnet kommer vi att lära oss om Python File Operations.
Öppna en Python-fil
Den allra första operationen att arbeta med fil är att öppna den. I Python används öppen () -funktion (inbyggd funktion) för att öppna en fil i både läs- och skrivläge. Denna funktion returnerar ett filobjekt. I funktionen öppen () definierar vi två argument där det första är filnamnet och det andra är det läge där vi vill öppna den filen.
Syntax: file = open (“abc.txt”, “r”)
I exemplet ovan vill användaren öppna en fil med namnet “abc.txt” i läsläget. På liknande sätt kan användare öppna en fil i olika lägen som "w" för skrivläge och "a" för append-läge. I Python kan användaren också specificera det binära eller textläget där han vill öppna en fil. Det är inte obligatoriskt för en användare att ange filens läge om inget läge anges, då kommer Python som standard att öppna en fil i läget “r”.
Syntax: file = open (“abc.txt”)
Ovanstående två sätt att öppna en fil kommer att utföra samma åtgärd, dvs. öppna en Python-fil i läsläge. Låt oss förstå olika fillägen i Python:
Läge | Funktionsbeskrivning |
”R” | Öppnar en fil i läsläge |
”W” | Öppnar en fil i skrivläge |
”A” | Öppnar en fil i tilläggsläge (lägg till text i slutet av filen) |
”X” | Skapar en specificerad fil, returnerar ett fel om filen redan finns |
”R +” | Öppnar en fil i både läs- och skrivläge |
”B” | Öppnar en fil i binärt läge (för bilder, .exe-filer) |
”T” | Öppnar en fil i textläge |
exempel
- Läsläge
file = open (“abc.txt”, 'r') for (x in file):
print x // prints the whole content of each line stored in x one by one
- Skrivläge
file = open(“new.txt”, 'w')
file.write (“hello I am learning file operations in Python”) // write the content in file file.close()
- Lägg till läge
file = open (“test.txt”, 'a')
file.write (“hello this will append content in the file”) // append content at the end of file.close()
Stänger en fil
Det är en bra praxis att stänga en fil efter att de önskade operationerna har utförts på den, eftersom detta kommer att frigöra alla resurser som används i den filen och kan tilldelas någon annanstans av operativsystemet. För att stänga en fil i Python används metoden stäng ().
Även om det inte är obligatoriskt att stänga en fil eftersom Python använder skräpkollektorn för att rengöra obefläckade objekt men det är en bra praxis och vi måste göra det.
Syntax: file.close ()
Exempel:
file = open (“abc.txt”, ”a”) file.write (“append the text”) file.close()
Det krävs ingen parameter som att öppna en fil men den här metoden är inte helt säker eftersom det vid undantag kan lämna koden utan att stänga en fil. För detta är det bättre att använda metoden close () i slutligen blockera så att den kommer att köras varje gång även om det finns undantag.
Exempel med hjälp av try och slutligen
try : file = open
(“abc.txt”, 'w') finally:
file.close()
Läser en fil
För att läsa en fil i Python måste vi öppna den först i läsläget. Det finns flera metoder för att läsa en fil som tillhandahålls av Python. Låt oss förstå dem en efter en:
- read () -metod: Den här metoden läser hela filen åt gången. Den här metoden returnerar \ n för den nya raden. När hela filen är klar får vi en hel tom sträng så vi måste ställa in markören igen med sök () och berätta () metoder.
Exempel
Fil:
This is line 1
This is line 2
file = open (“abc.txt”, 'r') print file.read() // This is line 1
// This is line 2
- readline () -metod: Den här metoden används för att läsa filen en rad i taget tills tecknet \ n finns i filen. Det läggs till \ n i slutet av raden.
exempel
file = open (“abc.txt”, 'r') print file.readline() // This is line 1
- readlines () -metod: Den här metoden används för att läsa hela filen men rad för rad. Den uppdaterar filen efter varje rad som returneras.
Exempel
file = open (“abc.txt”, 'r') print file.readlines() //This is line 1
// This is line 2
- läs (n) -metod: Den här metoden används om vi vill läsa angiven längd på tecken i en fil.
Exempel
File = open (“abc.txt”, 'r') print read(5) // 'This ' (including 1 space after s) (read 5 characters of a file)
Skriva en fil
För att skriva en fil i Python måste vi först öppna filen antingen i skriva "w", lägga till "a" eller lägg till "x" -läge.
Det finns en mindre skillnad mellan tilläggs- och skrivningsläge i Python och man måste vara mycket försiktig med detta att tilläggsmetoden lägger till innehållet i slutet av filen, dvs det kommer inte att påverka data om filen redan är skapad och har några data i den. Men skrivmetoden kommer att skriva över innehållet i filen om filen med viss data redan finns. Denna metod returnerar ingenting.
Exempel
file = open (“abc.txt”, 'r+') file.write
(“this is line 1\n”) file.write (“this is
line 2\n”) file.close()
metoden writelines (): metoden writelines () används också för att skriva en sekvens av strängar till en fil.
Exempel:
file = open (“abc.txt”, 'w')
lines = (“this is line 1”, “this is line 2”) file.writelines(lines)
file.close()
Radera en fil
För att radera en fil i Python används metoden ta bort (). För detta måste man importera OS-modulen till programmet.
Syntax: os.remove(“filename”)
Exempel
import os; os.remove
(“abc.txt”)
Annan filoperation
Det finns olika andra metoder som används med filobjekt för olika operationer:
Metod | Funktionsbeskrivning |
spola() | Spola den interna bufferten. Det har inget returvärde |
lösgöra() | Returnerar den separerade råströmmen från bufferten |
läsbar() | Returnerar sant om filströmmen kan läsas |
sök (offset, från) | Används för att ställa in filobjektets nuvarande position för att kompensera byte från angivna byte |
säga() | Returnerar filens aktuella position |
sökbart () | Returnerar sant om filströmmen tillåter slumpmässig åtkomst |
skrivbar() | Returnerar sant om filen tillåter att skrivas in |
Ingen fil() | Returnerar filnumret (filbeskrivning) som används av operativsystemet för I / O-operationer |
Nästa() | Returnerar nästa rad i filen |
truncate ((storlek)) | Avkortar filen till den angivna storleken (valfritt). |
Slutsats - Python-filoperationer
Arbeta med filer är ett av de viktiga begreppen inom webbutveckling. Olika metoder i filen tjänar specifika syften. Innan man använder någon metod måste man veta exakt vad han faktiskt behöver utföra och bör ha god kunskap om alla filmetoder på djupet. Som för att läsa en fil finns det flera olika metoder tillgängliga i Python som används i olika scenarier. Så bara med den djupa kunskapen kan man bara välja rätt metod i rätt scenario.
Rekommenderade artiklar
Detta är en guide till Python File Operations. Här diskuterar vi hur du utför någon åtgärd i pythonfilen och stänger sedan efter att operationerna har utförts. Du kan också titta på följande artikel för att lära dig mer -
- Mönster i Python
- Konstruktör i Python
- Python-uppsättningar
- Booleska operatörer i Python
- Python-samlingar