文件处理 b 模式
文件往硬盘存储过程 字符串------encode------>bytes
从硬盘上读文件过程 bytes------decode------->字符串
f = open('test11.txt','wb')
f.write(bytes('汉字中文\n',encoding='utf8'))#也可以写成下面形式
f.write(bytes('怡宝',encoding='utf8'))
创建test11名的txt文件以wb模式打开,往文件中写入如'汉字中文'换行
文件处理流程
1 打开文件,得到文件句柄并赋值给一个变量
2 通过句柄对文件进行操作
3 关闭文件
python中需要用到open()函数 看如下
f = open('小新pro.txt',encoding='utf8')
#注意文件名显示有文件格式的 也要写出来如 小新pro.txt文件,注意需要处理的文件若不在同一目录下这需要写绝对路径
data = f.read()
print(data)
f.close()
文件处理模式—读
文件有只读 只写 只追加
默认为只读模式
f = open('文件处理.txt','r',encoding='utf8')#r 为只读模式
print(f.readable())#判断文件是否可读 输出Ture
print(f.writable())#判断文件是否可写 输出False
print(f.readline())#一次读一行
print(f.readlines())#一次读取全部,并用列表的形式显示出来
f.close()
文件处理模式—写
w模式相当于新建一个空文档覆盖之前的文档
f = open('文件处理112233.txt','w',encoding='utf8')
f.write('111111\n')
f.write('2222222\n')#写文件是 换行需要自己家换行符
f.writelines(['进口量分开\n','打发放到打发\n'])#需要写个列表,
#文件内容只能是字符串
f.close()
文件处理模式—追加模式
a模式为追加模式,追加的内容放到文件最后
f = open('小新pro11.txt','a',encoding='utf-8')
f.write('a模式追加模式,追加的内容放到文件最后')
文件处理模式—w+
f = open('文件处理模式123.txt','w+',encoding='utf8')
f.write('111111\n')
#f.write('2222222\n')
print(f.closed)#判断文件是否关闭
print(f.encoding)#取打开文件的编码格式
print(f.tell())#tell() 函数用于判断文件指针当前所处的位置
f.close()
f = open('文件处理模式123.txt','r+',encoding='utf8')
print(f.tell())
print(f.read(3))
print(f.tell())
#当使用open()函数打开文件时,文件指针的起始位置为0,表示位于文件的开头处
#当使用read()函数从文件中读取3个字符之后,文件指针同时向后移动3个字符的位置
#当程序使用文件对象读写数据时,文件指针会自动向后移动:读写了多少个数据,文件指针就自动向后移动多少个位置。
文件处理模式—seek()
seek() 函数用于将文件指针移动至指定位置,
seek有三中模式 0 是从文件一开始的位置移动 1 是从上次停留的位置开始移动,1的模式要指定文件要以b的方式打开,2 是倒着移动
with open('文件处理模式123.txt','rb') as ff:
print(ff.tell())
ff.seek(-5,2)
print(ff.read())
输出结果
0
b'weqaz'
将一个文件的内容重写到另一个文件中 方法如下
with open('文件处理模式123.txt','r',encoding='utf8') as src_f,\
open('重写文件.txt','w',encoding='utf8')as dst_f:
data = src_f.read()
dst_f.write(data)