from sys import argvscript, input_file = argvdef 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 = 1print_a_line(current_line, current_file)current_line = current_line + 1print_a_line(current_line, current_file)current_line = current_line + 1print_a_line(current_line, current_file)出自《笨办法学python》习题20 主要有两个问题1、 f.read() 应该是读取 文件f的内容。但是代码并没有把文件赋值给f。那么他是怎么工作的?2、def 是定义一个函数,应该怎么理解? 这段代码是不是把print_all(f)和 print f.read()定义了?还是 print f.read() 定义为函数,这个函数的名字叫print_all(f)?
4 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
| 123456 | def print_all(f): #定义一个函数print_all,接受一个参数f print f.read() #这个函数执行f.read()def rewind(f): #定义一个函数rewind,接受一个参数f f.seek(0) #f.seek(0)将f的文件指针恢复到文件开头def print_a_line(line_count, f): #定义一个函数print_a_line,有两个参数line_count,f print line_count, f.readline() |
print "First let's print the whole file: \n"
print_all (current_file) #将current_file作为参数调用函数print_all,执行函数时f等于current_file
其余函数调用都是差不多,就不多说了
添加回答
举报
0/150
提交
取消
