直接上代码,注意下函数是如何与文件相结合ex20.py
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 += 2
print_a_line(current_line, current_file)
学习要点:
1、函数的参数可以传不同的对象,实际上,我们用=号给变量赋值,基本上你都可能把这些变量传给函数
2、seek(0),表示把指针移到文件的开始位置。具体你可以查看python -m pydoc file,找找seek帮助
3、当f.read()后,文件的指针已经指向文件末尾,如果不用seek(0),print_a_line将什么也没有
4、f.readline()每读一次,指针向下移一行
5、注意一下print line_count, f.readline()的显示效果