python 笔记 函数和文件(seek和readline)《笨办法学Python》习题20 ——12.28
2017-12-28 13:33
423 查看
习题 20: 函数和文件
ex20.py
运行结果:
自我练习
ex20_1.py
运行结果:
ex20.py
#-*-coding:utf-8-*- ''' 此章学习看题目就知道,是将函数和文件的调用读写结合 从运行结果来看,首先是打印test.txt文件 之后分3次将文件的3行内容分别打印出来 也就是说,不出意外的话脚本调用了4次打印 ''' from sys import argv script, input_file = argv #定义一个名为print_all的函数 #参数为f(f可为任意字母数字加字符),打印出其的内容 def print_all(f): print f.read() #此处引申一个内建函数seek(offset,whence=0) #Python文件的seek()方法将文件的当前位置设置为偏移量(offset)。 #offset:开始的偏移量,也就是代表需要移动偏移的字节数 #whence:给offset参数一个定义,表示要从哪个位置开始偏移; #默认为0,0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。 #所以seek(0)就是转到开头? def rewind(f): f.seek(0) #readline() 方法用于从文件读取整行,包括 "\n" 字符。 #如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。 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函数,打印打开的文件内容 print_all(current_file) #打印文本 print "Now let's rewind, kind of like a tape." #转至开头字节 rewind(current_file) print"Let's print three lines:" #此处就是readline()的用法了 #函数print_a_line定义了2个参数,第一个为行数,第二个则为读取整行 current_line = 1 print_a_line(current_line, current_file) #重新定义了行数current_line,并进行打印 current_line = current_line + 1 print_a_line(current_line, current_file) #由于current_line是一个变量,所以再定义后再进行计算则得到一个新值 current_line = current_line + 1 print_a_line(current_line, current_file) #总结:在得知输出结果和内置函数的意义后看似能够明白其代码,但是只是通过结果去解析其过程,并不是理解!稍后进行实验。
运行结果:
自我练习
ex20_1.py
#-*-coding:utf-8-*- 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() def print_a_line_of_some(line_count,f): print line_count, f.readline(6) def print_a_line_of_some_test(f): print f.readline(6) current_file = open(input_file) print "Start!!!\n" print "print all:" #正式开始,前面都是定义 #首先得打开文件 #如果rewind(current_file)在这则无法打印当前行数,让我很奇怪 print_all(current_file) rewind(current_file) print "The 3 lines!" '''经过证明: def print_a_line(line_count,f): print line_count, f.readline() line_count仅仅是数字,用于显示,并无法改变其具体显示第几行 readline每次仅仅读取一行 readline()括号中可加参数(数字),不加为读取一行,加了够则代表每次读取几个字符。 并且可以发现,readline()是依次读取的 ''' current_line = 1 print_a_line(1, current_file) print_a_line(current_line*3, current_file) print_a_line(3, current_file) print "Now,6 character to be one line\n" print_a_line_of_some(1, current_file) print_a_line_of_some(current_line*3, current_file) print_a_line_of_some_test(current_file)
运行结果:
相关文章推荐
- 函数与文件-习题20--learn python the hard way
- 笨办法学python习题20 函数和文件
- 笨方法学习Python-习题20: 函数和文件
- python 笔记 return的使用 《笨办法学Python》习题21 ——12.28
- 笨方法学Python 习题 20: 函数和文件
- 小甲鱼Python教程第19,20讲--python函数2:笔记及习题答案
- python 笔记 函数和变量 《笨办法学Python》习题19 ——12.27
- python 笔记 分支和函数《笨办法学Python》习题35 ——1.17
- python 笔记 函数(function)浅识 (《笨办法学Python》习题18)——12.26
- Learn Python The Hard Way学习(20) - 函数和文件
- 20. Python脚本学习笔记二十文件
- python之文件读取seek(),tell()函数
- python学习笔记-day03 第四部分(函数和文件操作)
- python 笔记 基础知识回顾 《笨办法学Python》习题22 ——12.29
- python 笔记 小试身手 修正代码 《笨办法学Python》习题26 ——12.31
- python 笔记 真和假的逻辑关系 《笨办法学Python》习题27 ——12.31
- python核心编程学习笔记-2016-08-02-01-读取文件的函数中的文件指针问题
- Python学习笔记:open()函数打开文件路径报错问题
- Python学习笔记(三):Time、函数、模块、文件I/O、异常处理(快速入门篇)
- 习题20 函数和文件