今日学习内容
1、文件重写方法
2、函数基本知识
文件处理:
打开文件
读/写文件
关闭文件
文件指针移动,只有t模式下的read(n),n代表的字符个数其余都是以字节为单位
f.seek有两个参数(offset whence)可以在t和b模式下用
offset:代表控制指针移动的字节数,在b模式下用
whence:代表参照什么位置进行移动,在b模式下用
whence:0文件开头
whence:1当前指针位置
whence:2文件末尾
文件修改的两种方式:
方式一:
1、将文件内容全部读入内存
2、在内存中完成修改
3、将内存中修改的内容覆盖原有内容
优:在硬盘上只有一份数据
缺点:占用内存过多
# with open(r'E:\code\GoodDog\day08\yuan',mode='rt',encoding='utf-8')as f_r:
# all_msg=f_r.read()
# print()
# with open(r'E:\code\GoodDog\day08\yuan',mode='wt',encoding='utf-8')as f_w:
# f_w.write(all_msg.replace('123','yxf'))
方式二:
1、以读的方式打开源文件,以写的方式打开一个临时文件
2、从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕
3、删除原文件,将临时文件名重命名为原文件名
优点:节省内存,不占用过多内存
缺点:在硬盘上同一时间会有两份数据,会占用过多的硬盘
# with open('E:\code\GoodDog\day08\yuan',mode='rt',encoding='utf-8') as f_r,open('E:\code\GoodDog\day08\yuan2',mode='at',encoding='utf-8') as f_w:
# for i in f_r:
# f_w.write(i.replace('yxf','123'))
函数基本知识:
1、什么是函数?
具备某一功能的工具
函数的原则:先定义后调用
2、为什么要用函数?
1、程序的组织不清晰,可读性差
2、代码冗余
3、可扩展性差
3、如何用函数?
def 函数名(参数一,参数二...)
文档注释(可写可不写)
code1
code2
return 返回值
定义阶段:检查语法
调用阶段:运行代码