建议ex18-21连起来学习
知识点:方法和文件操作
仔细看代码,了解函数是怎么操作文件的,关于文件的操作方法,忘记的同学回看ex15-17。
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 line:")
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)
当然得先准备一个test.txt的文档,文档的内容为:
This is line 1
This is line 2
This is line 3
What you should see
C:\Users\PycharmProjects\learnpythonthehardway>python ex20.py test.txt
First let's print the whole file:
This is line 1
This is line 2
This is line 3
Now let's rewind, kind of like a tape.
Let's print three line:
1 This is line 1
2 This is line 2
3 This is line 3
Study Drills
- 为了更好的理解,给每一行加注释
- 每次调用 print_a_line(),你在传递一个变量,current_line。每次调用函数时,current_line等于多少? 想想它是怎么变成 print_a_line 里的参数 line_count 的
- 找出调用函数的那一行,检查你给的参数是正确的
- 研究一下seek函数。—— 这个函数有用,值得研究的
- 研究一个简单的表达式: += ,用它改写我们的代码