文件
以二进制形式存储数据,便于调用
文本文件:可以进行文本编辑;二进制文件:保存到内容无法直接阅读,如图片视频
访问方式
r只读,指针放在文件开头;w写入,覆盖或创造一个文件写入;a追加,打开或创造一个文件追加,指针在文件末尾
二进制读写:三个对应访问方式为rb,rw,ra
操作步骤
1.打开文件:f=open('文件路径' ,访问方式);f.closed检测文件关闭情况,关闭则返回True;f.mode返回访问方式,f.name返回文件名称;路径可以是绝对路径或是代码文件/环境下的路径;访问方式默认只读
2.读取文件:text=f.read() 读取文件内容,括号内输入数字改为读取前n个字节,随着读取文件指针会逐步向后移;text=f.readline() 读取一行内容,结果包含一个换行符;text=f.readlines() 以行的形式读取所有内容并返回一个以行为元素的列表
3.写入文件:f.write('写入内容')
4.关闭文件:f.close(),为保证读写无论是否成功都能正常关闭文件,可用 try…finally 实现
text=text.decode('编码格式') 把二进制内容转换成字符串(解码)
with
with open('文件路径' ,访问方式) as f: 文件执行结束自动关闭文件
查询指针
f.tell() 查找指针当前位置,返回当前所在第几个字节位置
f.seek(偏移量n,指向位置) 重新定位指针到指向位置向后偏移n个字节的位置,并返回最后定位位置
文件备份
创建一个新文件,读取原文件内容,写入新文件;未知文件格式情况下建议统一用二进制处理
while True:
text=f.read(1024) #每次读取1024个字节避免内存泄漏
if len(con)==0:
break
new_f.write(text)
目录操作
导入os模块:import os
重命名:os.rename('原名' ,'新名')
创建文件夹:os.mkdir('路径')
删除文件夹:os.rmdir('路径')
删除文件:remove('路径')
获取当前路径:print(os.getcwd())
获取当前目录下的列表:print(os.listdir())
改变默认目录:os.chdir('路径');os.chdir('../') 跳转上一级目录
编码
编码格式默认是utf-8,使用不匹配的编码格式进行解码会报错,对于其他编码格式可用f=open('文件路径' ,访问方式 ,encoding='其他编码格式' ,error='ignore') 忽视非法编码的报错