將函數與文件操作結合起來使用,見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