文件处理
文件处理流程:1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件
文件没有修改这说法,都是会覆盖原文件
open函数会检索你当前系统的编码而不是编辑器的编码
# r w a 只读 只写 只追加
f=open('xxx','r+',encoding='utf8') #句柄就是这个f open是个应用程序 文件存在硬盘上 你要调用文件就需要操作系统 操作系统返回给你的就是这个f data=f.read() #三个xxx是文件名 但是本来应该是文件路径 但是因为是在同一目录下 所以可以直接输入文件名 print(data)
f.close()
怎么更改文件编码:在pycharm创建文件时先在右下角更改编码再填写
v = open("陈粒1","r",encoding="utf8") r = v.readable() #是否可读 r = v.read() # 读 r = v.readline() #一次读一行 第二次打印就是第二行 r = v.readlines() #读多行 print(r)
文件处理写操作:文件里的内容都是字符串
f=open('陈粒1','w',encoding='utf8') # f.read() f.write('11111111\n') f.write('222222222\n') f.write('333\n4444\n555\n') # f.writable() f.writelines(['555\n','6666\n']) #表示传一个列表 f.writelines(['555\n','6666\n',1]) # 文件内容只能是字符串,只能写字符串 f.close()
文件处理追加操作:这也是写的模式 不过是追加 不像“r”清空后重新写
f=open('陈粒1','a',encoding='utf-8') f.write('写到文件最后') f.close()
"r+"模式: 可以读也可以写,用r+模式写的话就是追加,但是会覆盖第一行
f=open('xxx','r+',encoding='gbk') data=f.read() print(data) f.write('123sb')
#文件修改 src_f=open('xxx','r',encoding='gbk') data=src_f.readlines() src_f.close() dst_f=open('xxx','w',encoding='gbk') # dst_f.writelines(data) dst_f.write(data[0]) dst_f.close()
with关键词 不用手动close文件
with open('a.txt','w') as f: f.write('1111\n')
#将原文件读取的内容直接添加到新的文件
# src_f=open('xxx','r',encoding='gbk') # dst_f=open('xxx','w',encoding='gbk') with open('xxx','r',encoding='gbk') as src_f,\ #斜杠代表截断,跳到下一行,不能直接回车 open('xxx_new','w',encoding='gbk') as dst_f: data=src_f.read() dst_f.write(data)
W+模式 都是可读可写

a+模式 都是可读可写
浙公网安备 33010602011771号