from sys import argv
script, input_file = argv #將argv的列表變量賦值給script和input_file
def print_all(f):#定義一個打印文件的函數(shù)
print (f.read())#函數(shù)主體尝蠕,打印從f變量中讀取的內容
def rewind(f): #定義一個復讀函數(shù)
f.seek(0)#函數(shù)主體使用seek設置文件(指針)的偏移
def print_a_line(line_count, f): #定義一個只打印一行的函數(shù)烘豌,并將文件內部指針移向下一行
print (line_count, f.readline())
current_file = open(input_file)#使用open函數(shù)打開文件,并賦值給curren_file(文件變量)
print ("First let's print the whole file:\n")
print_all(current_file)#調用函數(shù)print_all
print ("Now let's rewind, kind of like a tape.")
rewind(current_file)#調用函數(shù)rewind看彼,rewin讀取的是文件內部的指針廊佩,而不是文件的指針
print ("Let's print three lines:")
current_line = 1#current_line表示行號的變量,首先置1
print_a_line(current_line, current_file)#調用print_a_line函數(shù)闲昭,下同
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就是第一個字符……)
如果沒有這個函數(shù),那么打印行的時候簸淀,就打印不出內容