笨方法学python 习题20

2017-07-13  本文已影响0人  d1b0f55d8efb
from sys import argv
script, input_file = argv #将argv的列表变量赋值给script和input_file
def print_all(f):#定义一个打印文件的函数
    print (f.read())#函数主体,打印从f变量中读取的内容

def rewind(f): #定义一个复读函数
    f.seek(0)#函数主体使用seek设置文件(指针)的偏移

def print_a_line(line_count, f): #定义一个只打印一行的函数,并将文件内部指针移向下一行
    print (line_count, f.readline())

current_file = open(input_file)#使用open函数打开文件,并赋值给curren_file(文件变量)

print ("First let's print the whole file:\n")

print_all(current_file)#调用函数print_all

print ("Now let's rewind, kind of like a tape.")
rewind(current_file)#调用函数rewind,rewin读取的是文件内部的指针,而不是文件的指针

print ("Let's print three lines:")
current_line = 1#current_line表示行号的变量,首先置1
print_a_line(current_line, current_file)#调用print_a_line函数,下同

current_line = current_line + 1
print_a_line(current_line, current_file)

current_line = current_line + 1
print_a_line(current_line, current_file)
WX20170713-151008@2x.png

f.seek的意思
定位光标的位置,seek(0)指的是重新定位到开始的位置。(简单的理解为光标的位置,0就是最开始开始,1就是第一个字符……)
如果没有这个函数,那么打印行的时候,就打印不出内容

上一篇下一篇

猜你喜欢

热点阅读