Lezen en schrijven naar een bestand voor opslag of later gebruik zijn veel voorkomende taken bij het programmeren. Python heeft een aantal manieren om met bestanden te werken, maar we zullen ons vooral concentreren op het schrijven naar tekstbestanden. Tekstbestanden worden gebruikt om platte tekstgegevens op te slaan, en Python maakt het voor programmeurs eenvoudig om gegevens in tekstbestanden te lezen en te schrijven.
In deze tutorial leggen we uit hoe gebruikers met Python in een tekstbestand kunnen schrijven.
Python heeft een ingebouwde functie om de bestanden te maken, schrijven of lezen. Het kan twee soorten bestanden verwerken: normale tekstbestanden en binaire bestanden. De keuze tussen deze twee hangt af van de gegevens waarmee u werkt en de vereisten van de applicatie.
Syntaxis om een bestand in Python te openen:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
De functie open() kan verschillende parameters accepteren. Maar de gebruiker moet zich concentreren op de eerste twee:
Voor het schrijven in een tekstbestand gebruikt de gebruiker de volgende modus:
Modus | Beschrijving |
---|---|
'In' | Het wordt gebruikt om het tekstbestand te openen voor het schrijven van tekst. Het bestand wordt in deze modus afgekapt, wat betekent dat de bestaande inhoud van het bestand wordt verwijderd. |
'A' | Het wordt gebruikt voor het openen van het tekstbestand om tekst toe te voegen. De aanwijzer wordt aan het einde van het bestand geplaatst en nieuwe gegevens worden aan de bestaande inhoud toegevoegd. |
Voorbeeld: Om te laten zien hoe een gebruiker met Python in een tekstbestand kan schrijven
file.write(' ') file.writelines(' ')
Het is geheel aan de gebruiker of hij de tekst op de volgende regel wil toevoegen of niet.
Java-kleurcodes
Voorbeeld 2: Om te laten zien hoe u de functie write() gebruikt voor het schrijven van de lijst met teksten in het tekstbestand
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Uitgang:
Beide methoden geven hetzelfde resultaat.
Stappen om in een tekstbestand in Python te schrijven:
Voor het schrijven in het tekstbestand met behulp van Python , moet de gebruiker de volgende stappen volgen:
Stap 1 - Open het bestand - Om naar een tekstbestand te kunnen schrijven, moeten we het eerst openen met de ingebouwde functie open(), die twee parameters nodig heeft: de bestandsnaam (inclusief het pad als het bestand niet in de huidige map staat) en de modus waarin waarin we het bestand willen openen. Als we naar een tekstbestand schrijven, kunnen we de modus 'w' gebruiken, wat staat voor schrijfmodus, of de modus 'a', die staat voor append-modus. Als het bestand niet bestaat, zal Python een nieuw bestand maken met de opgegeven naam.
# Opening a file 'example.txt' file = open('example.txt', 'w')
De functie open() retourneert een bestandsobject, en dat bestandsobject heeft twee handige functies om er tekst in te schrijven:
- schrijven()
- schrijfregels()
De functie write() wordt gebruikt om de string in het tekstbestand te schrijven, en de functie writelines() wordt gebruikt om de lijst met de string in één keer in het bestand te schrijven.
De functie writelines() kan ook het itereerbare object accepteren. De gebruiker kan ook het aantal strings, de set strings, enz. doorgeven.
Om in de volgende regel te schrijven, moet de gebruiker het nieuwe regelteken handmatig toevoegen.
Stap 2 - Schrijf naar het bestand: Zodra het bestand in de schrijfmodus wordt geopend, kunnen we de functie write() of de functie writelines() gebruiken om erin te schrijven. De write() methode neemt een string als parameter die we naar het bestand willen schrijven. We kunnen meerdere regels schrijven door de functie write() meerdere keren aan te roepen of nieuweregeltekens ( ) tussen tekenreeksen te gebruiken om de regels te scheiden.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Stap 3 - Sluit het bestand: De gebruiker kan het tekstbestand sluiten met de functie close(). Nadat u de gewenste inhoud naar het bestand heeft geschreven, is het belangrijk om het goed af te sluiten. Als u het bestand sluit, zorgt u ervoor dat eventuele wijzigingen worden opgeslagen en dat systeembronnen worden vrijgemaakt.
k dichtstbijzijnde buuralgoritme
# Closing the file file.close()
Voorbeeld 2: Om te laten zien hoe gebruikers een nieuw regelteken in een txt-bestand kunnen toevoegen
file.write(' ') file.writelines(' ')
Het is geheel aan de gebruikers of ze de tekst op de volgende regel willen toevoegen of niet.
Voorbeeld 3: Laten zien hoe u de functie write() gebruikt voor het schrijven van de lijst met teksten of tekenreeksen in een tekstbestand
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Uitgang:
Uitleg:
In het bovenstaande voorbeeld hebben we eerst een lijst met tekenreeksen gemaakt met de naam lines_1, en vervolgens hebben we dat bestand geopend met de functie open() met de instructie 'with'. Vervolgens gebruikten we een for-loop om de elementen van de lijst te herhalen, gevolgd door het schrijven van de regel en het toevoegen van een nieuw regelteken aan het bestand. Aan het einde van de for-lus wordt een nieuw regelteken toegevoegd en de aanwijzer wordt op de volgende regel geplaatst.
Als het bestand text.txt niet in de map bestaat, zal de functie open() het nieuwe bestand maken en worden de bewerkingen dienovereenkomstig uitgevoerd.
Voorbeeld 4: Om te laten zien hoe gebruikers de lijst met tekstreeksen in het bestand text.txt kunnen schrijven met behulp van de functie writelines():
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Uitgang:
Uitleg:
In het bovenstaande voorbeeld schrijft de functie writelines() elk lijstelement op één regel in het bestand.
Als de gebruiker elk lijstelement als een regel behandelt, moet hij dit koppelen aan een nieuw regelteken.
Voorbeeld 4: Om te laten zien hoe een gebruiker het nieuweregelteken kan koppelen aan elk element van de regel in het text.txt-bestand
We hebben in voorbeeld nummer 3 al gezien hoe we na elk lijstelement een nieuw lijnteken kunnen toevoegen. Wanneer we de functie writelines() gebruiken, moeten we een nieuw lijnteken aan de string toevoegen.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Uitgang:
Uitleg:
In het bovenstaande voorbeeld schrijft de functie writelines() het lijstelement naar het bestand text.txt, waar elk lijstelement wordt afgesloten met een nieuw regelteken.
Conclusie
In deze tutorial hebben we uitgelegd hoe een gebruiker teksten in een tekstbestand kan schrijven met behulp van Python en de verschillende functies ervan. We leerden eerst over normale en binaire tekstbestanden, gevolgd door de syntaxis van hoe je een bestand opent. We hebben ook gekeken naar het verschil tussen 'w' (schrijfmodus) en 'a' (toevoegmodus). Vervolgens leerden we over de stappen om in een tekstbestand in Python te schrijven en implementeerden we verschillende voorbeelden om verschillende methoden voor het schrijven in een tekstbestand te begrijpen.