When
a program uses a file to write or read a large amount of data, a loop is
typically involved. Quite often a program must read the contents of a file
without knowing the number of items that are stored in the file.
In
Python, the readline method returns an empty string (' ') when it has attempted
to read beyond the end of a file. This makes it possible to write a while loop
that determines when the end of a file has been reached.
Here is the general algorithm, in pseudocode:
Open
the file
Use readline to read the first line from
the file
While the value returned from readline
is not an empty string:
Process
the item that was just read from the file
Use
readline to read the next line from the file.
Close the file
Using
Python’s for Loop to Read Lines
The
Python language also allows you to write a for loop that automatically reads
line in a file without testing for any special condition that signals the end
of the file.
Here
is the general format of the loop:
for
variable in file_object:
statement
statement
etc.
In
the general format, variable is the name of a variable and file_object
is a variable that references a file object. The loop will iterate once for
each line in the file.
Example:
#
This program uses the for loop to read
#
all of the values in the sales.txt file.
def
main():
# Open the sales.txt file for reading.
sales_file = open('sales.txt', 'r')
# Read all the lines from the file.
for line in sales_file:
#
Convert line to a float.
amount
= float(line)
#
Format and display the amount.
print(format(amount,
'.2f'))
#
Close the file.
sales_file.close()
# Call the main function.
main()