Hoe "with" in python te gebruiken om bestanden te openen (inclusief voorbeelden)
Je kunt de volgende syntaxis gebruiken om een bestand in Python te openen, er iets mee te doen en het bestand vervolgens te sluiten:
file = open (' my_data.csv ') df = file. read () print (df) file. close ()
Het probleem met deze aanpak is dat je heel gemakkelijk vergeet het bestand te sluiten.
Een betere aanpak is om open te gebruiken, waarbij de volgende basissyntaxis wordt gebruikt:
with open (' my_data.csv ') as file: df = file. read () print (df)
Met deze aanpak wordt het bestand waarmee u werkt automatisch gesloten, zodat u er niet aan hoeft te denken file.close() te gebruiken.
De volgende voorbeelden laten zien hoe u kunt gebruiken met open in verschillende scenario’s.
Voorbeeld 1: Gebruik de With-instructie om het bestand te lezen
De volgende code laat zien hoe u de instructie „with“ gebruikt om een bestand in Python te lezen en de inhoud van het bestand af te drukken:
with open (' my_data.csv ') as file: df = file. read () print (df) ,points, assists, rebounds 0.11.5.6 1,17,7,8 2,16,7,8 3,18,9,10 4,22,12,14 5,25,9,12 6,26,9,12 7,24,4,10 8,29,8,11
De inhoud van het bestand wordt afgedrukt en het bestand wordt automatisch gesloten zonder dat we file.close() typen.
Voorbeeld 2: Gebruik de With-instructie om een bestand te schrijven
De volgende code laat zien hoe u de instructie „with“ gebruikt om tekst naar een bestand te schrijven:
with open (' data_out.csv ', ' w ') as file: file. write (' Some text to write to CSV file ')
Merk op dat de ‚ w ‚ in de open() -instructie Python vertelt om de ’schrijf‘-modus met het bestand te gebruiken in plaats van de leesmodus.
Voorbeeld 3: Gebruik de With-instructie om bestanden te lezen en te schrijven
We kunnen ook meerdere bestanden tegelijk openen in één enkele “with”-instructie.
De volgende code laat zien hoe u de instructie „with“ gebruikt om twee bestanden te openen, de inhoud van één bestand te lezen en vervolgens de inhoud van het eerste bestand naar het tweede bestand te schrijven:
with open (' my_data.csv ', ' r ') as infile, open (' data_out.csv ', ' w ') as outfile: for line in infile: outfile. write (line)
Als we naar de locatie navigeren waar we „data_out.csv“ hebben geschreven, kunnen we de inhoud van het bestand bekijken:
Merk op dat we de functie open() kunnen gebruiken om zoveel bestanden te openen als we willen in een enkele „with“ -instructie.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:
Hoe CSV-bestanden te lezen met Panda’s
Excel-bestanden lezen met Panda’s
Hoe tekstbestanden te lezen met Panda’s