Tot nu toe hebben we geleerd hoe we bestanden moeten lezen, maar we hadden iets vervelends met de cursor en
toen moesten we het bestand sluiten.
Dus hoe kunnen we dit oplossen?
Welnu, een betere manier om zoiets als dit te doen en Eyo met Python te maken, is met
de ingebouwde met-instructie.
Laat me je laten zien, in plaats van wat we eerder hadden, wat we gaan zeggen is.
Met open de naam van het bestand.
En zeg als wat de variabele die je wilt, dus mijn bestand.
Dus nu met Open kun je zoiets als dit doen, maar je hoeft je geen zorgen te maken over
het sluiten, dus meestal wil je het width-statement gebruiken.
Dit is de juiste manier om met bestanden in Python te werken.
En als ik hier spaar en vlucht.
Mijn scriptie.
Nou, ik krijg een foutmelding omdat ik de kolom hier ben vergeten als ik opnieuw start.
Daar ga je.
Ik krijg mijn uitvoer en ik hoef mijn bestand niet te sluiten.
Bij mij is alles naar beneden.
Dit is dus een standaard manier om een bestand te lezen.
Wat als we nu naar een bestand wilden schrijven?
Tot nu toe hebben we alleen gelezen en eigenlijk staat onder de Hood Open een standaardparameter met de naam MOAD.
Is gelijk aan R, wat staat voor Read.
Dus met Mode kunnen we bestanden lezen als we de modus niet specificeren, het gaat er automatisch van uit dat we aan het lezen
zijn.
Maar als we naar een bestand willen schrijven, kunnen we gewoon W doen voor.
Rechts.
Dus als ik dit uitvoer.
Je ziet dat ik nu een foutmelding krijg, niet-ondersteunde bewerking, niet leesbaar omdat, nou ja, het bestand kan
alleen Rinne zijn.
Dus om te kunnen lezen en schrijven, kan ik r w schrijven.
Rechts.
Laten we eens kijken.
Nee, zo werkt het eigenlijk niet, je zou denken dat het RW is, maar dit is een trucje.
Om te kunnen lezen en schrijven, lezen we wel plus.
Zodat als ik dit uitvoer.
Oke.
Ik ben aan het lezen en schrijven en ik heb een lege lijst omdat deze nu leeg is.
OK, dus laten we hier naar een bestand schrijven.
Laten we dit een beetje kleiner maken, zodat we kunnen zien dat het beter is.
Laten we zeggen dat ik in dit najaar tekst wil hebben en in deze tekst ga ik mijn dossier, punt, juist zeggen.
En ik kan elk stukje tekst schrijven dat ik wil, dus laten we zeggen, hé, dat is het.
Mij.
Dus nu hier binnen, als ik tekst print.
En ik voer dit uit.
ik krijg 11.
Hmm, wat betekent deze 11?
Dit is op dit moment heel belangrijk, waar we ons op willen concentreren is, hé, ik ben het.
Ik heb naar een bestand geschreven.
OK, dus laten we zeggen dat ik het bestand opnieuw wilde openen en eigenlijk opnieuw wilde schrijven.
Laten we zeggen dat ik deze keer een smiley ga schrijven.
Als ik dit uitvoer.
En ga terug.
Oké, het lijkt erop dat ik naar het bestand heb geschreven, maar, oh, is dit wat we wilden?
Wanneer we iets naar een bestand schrijven, wordt de cursor opnieuw ingesteld.
Onthoud dat wanneer we een bestand openen, de cursor naar nul gaat.
En we schrijven naar het bestand, en als er al iets in bestaat terwijl we het overschrijven, moeten
we voorzichtig zijn.
En tussen haakjes, dit tekstbestand gaf ons net dat we twee karakters hebben geschreven, The Smiley Face.
Oké, dus hoe kunnen we dit oplossen, hoe kunnen we ervoor zorgen dat we niet breken wat we eerder hebben, namelijk, hey,
ik ben het en ik wil gewoon een smiley aan het einde toevoegen?
Welnu, we kunnen de toevoegmodus gebruiken.
De toevoegmodus is a en dit is een broek aan het einde van het bestand.
Als ik dit zo loop, hé, ik ben het met een smiley, het gebeurt op het einde.
Dus dat is de toevoegmodus.
Nogmaals, we kunnen W gebruiken om te schrijven en als ik dit uitvoer.
Het.
Voegt een smiley toe.
Nu, waarom deed het niet zoals de vorige keer en overschreef het bestaande ding?
Nou, het komt door onze moed.
W. stelt ons in staat om eerder naar een bestand te schrijven toen we lazen en schrijven, wat er gebeurde was dat we het bestand
lazen.
Laten we dit nog eens herhalen, eigenlijk.
Laten we teruggaan naar hey, ik ben zoals het was.
En als ik dit nog een keer doe.
Want we hebben gelezen en geschreven.
De cursor stond op nul en eroverheen in plaats van als we gewoon goed deden.
Het gaat ervan uit dat dit een nieuw bestand is en we willen gewoon het smileygezicht toevoegen.
Als ik hier op rennen klik, zie je dat het nu gewoon een smiley is.
U wilt dus voorzichtig zijn dat u de juiste modus gebruikt op basis van wat u nodig heeft.
Laten we zeggen dat we een vader wilden creëren die niet bestaat.
Laten we een bestand hebben met de naam Happy Dot Taxed.
Of eigenlijk, nee, laten we het doen.
En dit schrijft een droevig gezicht, maar onthoud, we hebben dit niet op ons bureaublad, als ik dit opruim
en naar ons bureaublad kijk, hebben we geen droevige tekst.
Als ik lees plus hier.
Dus lees en schrijf en ik voer dit uit.
Ik krijg een bestand dat hier niet wordt gevonden.
Als ik het hier doe en ik voer dit uit.
Oké, het lijkt erop dat het werkte, als ik naar de bestanden kijk, heb ik nu een trieste tekst.
Dus als ik het nu open.
Ik heb het droevig gezicht tekst.
Dus rechts maakt ook een nieuw bestand aan, als het nog niet bestaat, of overschrijft het bestaande.
Dus je wilt weer voorzichtig zijn met de modus, of je wilt toevoegen, of je wilt lezen,
of je wilt lezen en schrijven.
Maar meestal zijn de meest voorkomende lezen, schrijven en toevoegen.
In de volgende video wil ik het hebben over dit idee van een bestand.
Ik heb voor nu tekstbestanden geschreven, maar we hadden alles kunnen schrijven.
We hadden een dossier kunnen maken als ik dat had gewild.
Maar hoe zit het met toegang tot bestanden die zich op verschillende locaties bevinden, zoals in mappen?
We gaan dat onderwerp in de volgende video onderzoeken.