将函数与文件操作结合起来使用,见ex20.py:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from sys import argv
script, input_file = argv
def print_whole_file(f):
print f.read()
def reset_file_flag(f):
f.seek(0)
def print_one_line(line_count, f):
print line_count, f.readline()
current_file = open(input_file)
print "First let's print the whole file:"
print_whole_file(current_file)
print "Now let's reset_file_flag, kind of like a tape."
reset_file_flag(current_file)
print "Let's print three lines:"
current_line = 1
print_one_line(current_line, current_file)
current_line = current_line + 1
print_one_line(current_line, current_file)
current_line = current_line + 1
print_one_line(current_line, current_file)
运行:
python ex20.py ex20_op.py
得到:
First let's print the whole file:
line1
line 2
line three
line forth
line 5th
Now let's reset_file_flag, kind of like a tape.
Let's print three lines:
1 line1
2 line 2
3 line three