文件读写模式
- r 使用r打开的文件只能读取内容不能够做其他的操作
readable 具备了读取内容的能力
writable 具备了填写内容的能力
- w 只写模式 在该模式下的文件只能写内容 不能够做其他的操作
- a 追加模式 在使用这个模式的时候打开文件默认的是末尾追加新的内容不能做其他的操作
补充知识
- with语法支持一次性打开很多个文件
- 补全 python语法但是不执行任何操作的 pass(推荐使用)/...(不推荐使用)
- r 只读模式 通常的时候单词后面加上able就是代表这个单词具备了描述能力
文件的操作模式
- t 文本模式 分为三种
rt wt at
这三个只能操作文本文件 不能够操作音频 图片
还必须得指定encoding参数 在读写出来都是以字符串为单位
文本操作的方法
- read()一次性读取文件内容并且光标停留在文件的末尾 继续读取则为空 当一个文件过大时 不介意采用一次性的读取的 如果文件比较大 可以使用for line in f :文件对象支持for循环 eadline() 一次只读一行内容
readlines() 按照行的方式读取所有的内容并组织成列表返回
readable() 判断当前文件是否可读
writable() 判断当前文件是否可写
write() 填写文件内容
writelines() 支持填写容器类型(内部可以存放多个数据值的数据类型)多个数据值
flush() 将内存中的文件数据立刻刷到硬盘(主动按ctrl+s)
作业
1.编写简易版本的拷贝工具 自己输入想要拷贝的数据路径 自己输入拷贝到哪个地方的目标路径 任何类型数据皆可拷贝 ps:个别电脑C盘文件由于权限问题可能无法拷贝 换其他盘尝试即可
src_list=input('想要拷贝的数据路径').strip() #输入想要拷贝的路径
dst_list=input('需要拷贝到哪里去').strip() #输入拷贝到哪里的路径
with open(r'%s' % src_list,'rb') as read_f,open(r'%s' % dst_list, 'wb' ) as write_f:
for info in read_f: #挨个读取文件数据
write_f.write(info) #将文件拷贝到新的文件中
2.利用文件充当数据库编写用户登录、注册功能 文件名称:userinfo.txt 基础要求: 用户注册功能>>>:文件内添加用户数据(用户名、密码等) 用户登录功能>>>:读取文件内用户数据做校验 ps:上述功能只需要实现一次就算过关(单用户) 文件内始终就一个用户信息 拔高要求: 用户可以连续注册 用户可以多账号切换登录(多用户) 文件内有多个用户信息 ps:思考多用户数据情况下如何组织文件内数据结构较为简单 提示:本质其实就是昨天作业的第二道题 只不过数据库由数据类型变成文件