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 = current_line + 1
print_a_line(current_line ,current_file)
这次好像是练习函数和文件协作。
其中 rewind 的意思是 “重绕,倒回”的意思
现在我们要加上注释了!
#-*-coding:utf-8-*-
from sys import argv #不解释了
script,input_file = argv #两个参数
def print_all(f): #定义print_all,这里的f是一个变量,其实也指的是一个文件,比如下面19行的current_file
print f.read() #打印f.read()
def rewind(f): #定义rewind
f.seek(0) #运行f.seek(0)就回到了文件的开始
def print_a_line(line_count,f): #定义print_a_line
print line_count ,f.readline() #运行f.readline()就会读取文件的一行
current_file = open(input_file) #打开一开始输入的文件,然后放到current_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 #定义当前行为1
print_a_line(current_line, current_file) #打印当前文件的当前行
current_line = current_line + 1 #当前行+1
print_a_line(current_line ,current_file) #打印当前文件的当前行
current_line = current_line + 1 #当前行+1
print_a_line(current_line ,current_file) #打印当前文件的当前行
其实应该看到的结果是
其实这里给我的心得就是变量什么的和C++不一样,我C++习惯一开始定义好
Python里面好像要用即时就加上...
==========================================================================================
附加练习
1.见上面
4. seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0。
0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
5.其实跟c++一样?
num+=1 就是 num=num+1 的意思吧