1、def print_all(f):
f只是一个变量而已,不过在这里它指的是一个文件。
python中的文件和老式磁带机差不多,它有一个用来读取数据的“磁头”,你可以通过这个“磁头”来操作文件。每次运行f.seek(0)就回到了文件的开始,而运行f.readline()则会读取文件的一行,然后将“磁头”移动到\n后面。
代码
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)
看到的结果
1 This is line 1
2 This is line 2
3 This is line 3
解释:
为什么看到结果会有一个空一行。
因为,print_a_line这是前面定义的函数,它的第二个参数是f,f在这里代码文件,第二行又对f加了参数f.readline()。根据前面学习python里的文件操作,如个运行了f.readline()就会读取文件的一行并移动到\n后面,因此会有一个空行。
- 如何取消间隔空行
readline()函数返回的内容中包含文件本来就有的\n,而pirnt在打印时有会添加一个\n,这样一来就会多出一个空行了。前面学习过end="",我们只需要在print函数中多加一个参数end="",这样就不会多打一行\n出来了。这里要