Hoe een bestand te analyseren Lijn per lijn met Python

De While Loop-instructie gebruiken om een ​​tekstbestand te analyseren

Een van de belangrijkste redenen waarom mensen Python gebruiken, is voor het analyseren en manipuleren van tekst. Als uw programma een bestand moet doorlopen, is het meestal het beste om het bestand één regel tegelijk in te lezen om redenen van geheugenruimte en verwerkingssnelheid. Dit kan het best worden gedaan met een while-lus.

Codevoorbeeld voor het analyseren van tekst regel voor regel

> fileIN = open (sys.argv [1], "r") line = fileIN.readline () while line: [een beetje analyse hier] line = fileIN.readline ()

Met deze code wordt het eerste opdrachtregelargument gebruikt als de naam van het bestand dat moet worden verwerkt. De eerste regel opent het en initieert een bestandsobject, "fileIN". De tweede regel leest vervolgens de eerste regel van dat bestandsobject en wijst deze toe aan een tekenreeksvariabele, "regel". De while-lus wordt uitgevoerd op basis van de constantheid van 'regel'. Wanneer "lijn" verandert, start de lus opnieuw. Dit gaat door totdat er geen regels meer zijn om te lezen. Het programma verlaat dan.

Door het bestand op deze manier te lezen, bijt het programma niet meer gegevens af dan dat het is ingesteld om te verwerken. Het verwerkt de gegevens die het sneller invoert, waardoor de uitvoer stapsgewijs wordt weergegeven. Op deze manier wordt de geheugenvoetafdruk van het programma laag gehouden en wordt de verwerkingssnelheid van de computer niet getroffen. Dit kan belangrijk zijn als u een CGI-script schrijft dat mogelijk een paar honderd exemplaren van zichzelf op een moment laat zien.

Meer over "While" in Python

De while-lusinstructie voert herhaaldelijk een doelinstructie uit zolang de voorwaarde waar is.

De syntaxis van de while-lus in Python is:

> while expression: statement (s)

De verklaring kan een enkele verklaring of een blok met uitspraken zijn. Alle uitspraken die met hetzelfde bedrag zijn ingesprongen, worden beschouwd als onderdeel van hetzelfde codeblok. Inspringen geeft aan hoe Python groepen uitspraken aangeeft.