title: learn python the hard way exercise 20
body: <p>I do not understand where the value for "line_count" is passed to this variable. If you can explain it to me I would really appreciate it!! The output prints each successive line. I understand how it increments the line numbers (1, 2, 3, 4), but how it is actually knowing where to get the data to print each string is confusing to me.</p>
  
  <pre><code>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 "Now 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 = current_line + 1
  print_a_line(current_line, current_file)
  
  current_line = current_line + 1
  print_a_line(current_line, current_file)
  </code></pre>