logo

Bestandsbeheer in Python

Bestandsafhandeling in Python is een krachtig en veelzijdig hulpmiddel dat kan worden gebruikt voor het uitvoeren van een breed scala aan bewerkingen. Het is echter belangrijk om de voor- en nadelen van het verwerken van bestanden zorgvuldig af te wegen bij het schrijven van Python-programma's, om ervoor te zorgen dat de code veilig en betrouwbaar is en goed presteert.

In dit artikel gaan we op onderzoek uit Python-bestandsverwerking, voordelen, nadelen en hoe open-, schrijf- en toevoegfuncties werken in Python-bestanden.



Python-bestandsverwerking

Python ondersteunt bestandsverwerking en stelt gebruikers in staat bestanden te verwerken, dat wil zeggen bestanden te lezen en te schrijven, samen met vele andere opties voor bestandsverwerking, om met bestanden te werken. Het concept van bestandsverwerking strekt zich uit over verschillende andere talen, maar de implementatie is ingewikkeld of langdurig. Net als andere concepten van Python is dit concept hier ook eenvoudig en kort. Python behandelt bestanden anders als tekst of binair en dit is belangrijk. Elke coderegel bevat een reeks tekens en deze vormen een tekstbestand. Elke regel van een bestand wordt afgesloten met een speciaal teken, genaamd EOL of Einde van de lijn karakters zoals komma {,} of nieuwregel karakter. Het beëindigt de huidige regel en vertelt de tolk dat er een nieuwe is begonnen. Laten we beginnen met de lees- en schrijfbestanden.

Voordelen van bestandsverwerking in Python

  • Veelzijdigheid : Met bestandsverwerking in Python kunt u een breed scala aan bewerkingen uitvoeren, zoals het maken, lezen, schrijven, toevoegen, hernoemen en verwijderen van bestanden.
  • Flexibiliteit : Bestandsafhandeling in Python is zeer flexibel, omdat u met verschillende bestandstypen kunt werken (bijvoorbeeld tekstbestanden, binaire bestanden, CSV-bestanden , enz.), en om verschillende bewerkingen op bestanden uit te voeren (bijvoorbeeld lezen, schrijven, toevoegen, enz.).
  • Gebruiker vriendelijk : Python biedt een gebruiksvriendelijke interface voor het verwerken van bestanden, waardoor het gemakkelijk wordt om bestanden te maken, lezen en manipuleren.
  • Cross-platform : Python-bestandsverwerkingsfuncties werken op verschillende platforms (bijvoorbeeld Windows, Mac, Linux), waardoor naadloze integratie en compatibiliteit mogelijk zijn.

Nadelen van bestandsverwerking in Python

  • Foutgevoelig: Bestandsverwerkingsbewerkingen in Python kunnen gevoelig zijn voor fouten, vooral als de code niet zorgvuldig is geschreven of als er problemen zijn met het bestandssysteem (bijvoorbeeld bestandsrechten, bestandsvergrendelingen, enz.).
  • Veiligheidsrisico's : Bestandsverwerking in Python kan ook veiligheidsrisico's met zich meebrengen, vooral als het programma gebruikersinvoer accepteert die kan worden gebruikt om gevoelige bestanden op het systeem te openen of te wijzigen.
  • Complexiteit : Bestandsverwerking in Python kan complex zijn, vooral als u met geavanceerdere bestandsformaten of bewerkingen werkt. Er moet zorgvuldige aandacht worden besteed aan de code om ervoor te zorgen dat bestanden correct en veilig worden verwerkt.
  • Prestatie : Bestandsverwerkingsbewerkingen in Python kunnen langzamer zijn dan in andere programmeertalen, vooral als het gaat om grote bestanden of het uitvoeren van complexe bewerkingen.

Voor dit artikel zullen we het volgende overwegen geeks.txt bestand als voorbeeld.

Hello world techcodeview.com 123 456>

Python-bestand geopend

Voordat we een bewerking op het bestand uitvoeren, zoals lezen of schrijven, moeten we eerst dat bestand openen. Hiervoor moeten we de ingebouwde functie van Python gebruiken open() maar op het moment van openen moeten we de modus specificeren, die het doel van het openingsbestand vertegenwoordigt.



f = open(filename, mode)>

Waar de volgende modus wordt ondersteund:

  1. R: open een bestaand bestand voor een leesbewerking.
  2. In: open een bestaand bestand voor een schrijfbewerking. Als het bestand al gegevens bevat, wordt dit overschreven, maar als het bestand niet aanwezig is, wordt het bestand ook gemaakt.
  3. A: open een bestaand bestand voor toevoegbewerking. Het overschrijft de bestaande gegevens niet.
  4. r+: Om gegevens in het bestand te lezen en te schrijven. De eerdere gegevens in het bestand worden overschreven.
  5. w+: Om gegevens te schrijven en te lezen. Het overschrijft bestaande gegevens.
  6. een+: Om gegevens uit het bestand toe te voegen en te lezen. Het overschrijft de bestaande gegevens niet.

Werken in leesmodus

Er is meer dan één manier om dat te doen Hoe te lezen uit een bestand in Python . Laten we eens kijken hoe we de inhoud van een bestand in de leesmodus kunnen lezen.

pothineni ram

Voorbeeld 1: De opdracht open opent het Python-bestand in de leesmodus en de for-lus drukt elke regel in het bestand af.



Python3




# a file named 'geek', will be opened with the reading mode.> file> => open>(>'geek.txt'>,>'r'>)> # This will print every line one by one in the file> for> each>in> file>:> >print> (each)>

>

>

Uitgang:

Hello world techcodeview.com 123 456>

Voorbeeld 2: In dit voorbeeld extraheren we een string die alle tekens in het Python-bestand bevat die we kunnen gebruiken bestand.read() .

Python3




# Python code to illustrate read() mode> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read())>

>

>

Uitgang:

Hello world techcodeview.com 123 456>

Voorbeeld 3: In dit voorbeeld zullen we zien hoe we een bestand kunnen lezen met behulp van de met stelling in Python.

Python3




# Python code to illustrate with()> with>open>(>'geeks.txt'>) as>file>:> >data>=> file>.read()> print>(data)>

>

>

Uitgang:

Hello world techcodeview.com 123 456>

Voorbeeld 4: Een andere manier om een ​​bestand te lezen is door een bepaald aantal tekens aan te roepen, zoals in de volgende code. De tolk leest de eerste vijf tekens van de opgeslagen gegevens en retourneert deze als een string:

Python3




# Python code to illustrate read() mode character wise> file> => open>(>'geeks.txt'>,>'r'>)> print> (>file>.read(>5>))>

>

>

Uitgang:

Hello>

Voorbeeld 5: We kunnen ook regels splitsen tijdens het lezen van bestanden in Python. De functie split() splitst de variabele wanneer er spatie wordt aangetroffen. Je kunt ook splitsen met willekeurige tekens.

Python3




# Python code to illustrate split() function> with>open>(>'geeks.txt'>,>'r'>) as>file>:> >data>=> file>.readlines()> >for> line>in> data:> >word>=> line.split()> >print> (word)>

>

>

Uitgang:

['Hello', 'world'] ['techcodeview.com'] ['123', '456']>

Een bestand maken met behulp van de write()-functie

Net zoals bij het lezen van een bestand in Python, zijn er een aantal manieren om dit te doen Schrijven naar bestand in Python . Laten we eens kijken hoe we de inhoud van een bestand kunnen schrijven met behulp van de write()-functie in Python.

Werken in schrijfmodus

Laten we eens kijken hoe we een bestand kunnen maken en hoe de schrijfmodus werkt.

Voorbeeld 1: In dit voorbeeld zullen we zien hoe de schrijfmodus en de functie write() worden gebruikt om in een bestand te schrijven. De opdracht close() beëindigt alle bronnen die in gebruik zijn en bevrijdt het systeem van dit specifieke programma.

Python3




java hallo wereld voorbeeld

# Python code to create a file> file> => open>(>'geek.txt'>,>'w'>)> file>.write(>'This is the write command'>)> file>.write(>'It allows us to write in a particular file'>)> file>.close()>

>

>

Uitgang:

This is the write commandIt allows us to write in a particular file>

Voorbeeld 2: We kunnen de geschreven verklaring ook samen met de functie with() gebruiken.

Python3




# Python code to illustrate with() alongwith write()> with>open>(>'file.txt'>,>'w'>) as f:> >f.write(>'Hello World!!!'>)>

>

>

Uitgang:

Hello World!!!>

Werking van de toevoegmodus

Laten we eens kijken hoe de toevoegmodus werkt.

Voorbeeld: Voor dit voorbeeld gebruiken we het Python-bestand dat in het vorige voorbeeld is gemaakt.

Python3




# Python code to illustrate append() mode> file> => open>(>'geek.txt'>,>'a'>)> file>.write(>'This will add this line'>)> file>.close()>

>

>

Uitgang:

This is the write commandIt allows us to write in a particular fileThis will add this line>

Er zijn ook verschillende andere opdrachten bij het verwerken van Python-bestanden die worden gebruikt om verschillende taken uit te voeren:

rstrip(): This function strips each line of a file off spaces from the right-hand side. lstrip(): This function strips each line of a file off spaces from the left-hand side.>

Het is ontworpen om een ​​veel schonere syntaxis en afhandeling van uitzonderingen te bieden wanneer u met code werkt. Dat verklaart waarom het een goede gewoonte is om ze, indien van toepassing, te gebruiken met een verklaring. Dit is handig omdat met deze methode alle geopende bestanden automatisch worden gesloten nadat er één is voltooid, dus automatisch opschonen.

Implementatie van alle functies in Bestandsafhandeling

In dit voorbeeld behandelen we alle concepten die we hierboven hebben gezien. Daarnaast zullen we ook zien hoe we een bestand kunnen verwijderen met behulp van de remove() functie van Python os-module .

Python3




import> os> def> create_file(filename):> >try>:> >with>open>(filename,>'w'>) as f:> >f.write(>'Hello, world! '>)> >print>(>'File '> +> filename>+> ' created successfully.'>)> >except> IOError:> >print>(>'Error: could not create file '> +> filename)> def> read_file(filename):> >try>:> >with>open>(filename,>'r'>) as f:> >contents>=> f.read()> >print>(contents)> >except> IOError:> >print>(>'Error: could not read file '> +> filename)> def> append_file(filename, text):> >try>:> >with>open>(filename,>'a'>) as f:> >f.write(text)> >print>(>'Text appended to file '> +> filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not append to file '> +> filename)> def> rename_file(filename, new_filename):> >try>:> >os.rename(filename, new_filename)> >print>(>'File '> +> filename>+> ' renamed to '> +> new_filename>+> ' successfully.'>)> >except> IOError:> >print>(>'Error: could not rename file '> +> filename)> def> delete_file(filename):> >try>:> >os.remove(filename)> >print>(>'File '> +> filename>+> ' deleted successfully.'>)> >except> IOError:> >print>(>'Error: could not delete file '> +> filename)> if> __name__>=>=> '__main__'>:> >filename>=> 'example.txt'> >new_filename>=> 'new_example.txt'> >create_file(filename)> >read_file(filename)> >append_file(filename,>'This is some additional text. '>)> >read_file(filename)> >rename_file(filename, new_filename)> >read_file(new_filename)> >delete_file(new_filename)>

>

>

Uitgang:

File example.txt created successfully. Hello, world! Text appended to file example.txt successfully. Hello, world! This is some additional text. File example.txt renamed to new_example.txt successfully. Hello, world! This is some additional text. File new_example.txt deleted successfully.>