Ex20 - Functions and File

My question is about the print_a_line function the line_count is just a
counter right it doesn’t actually change the position of the bytes like in
the rewind function that uses seek(0)? The readline() method will print the lines of the file successively when we call it three times and we are just counting by
adding one to the current_line variable.

from sys import argv

script, input_file = argv
def print_all(f):
	print(f.read())

def rewind(f):
	f.seek(0)

def print_a_line(line_count, f):
	print(line_count, f.readline())

current_file = open(input_file)

print("First let's print the whole file:\n")

print_all(current_file)

print("\nNow let's rewind, kind of like a tape.")

rewind(current_file)

print("Let's print three lines:")

current_line = 1
print_a_line(current_line, current_file)

current_line += 1
print_a_line(current_line, current_file)

current_line += 1
print_a_line(current_line, current_file)
A free service run by Zed A. Shaw for learncodethehardway.org.