一、打开文件
1、open(文件名,打开方式,encoding=编码方式(utf-8) )
文件名:同文件夹可以直接输入文件名,不同文件夹要加路径
基本方式打开(内存—》二进制—》utf-8):默认只读模式 "r"。
只写模式"w"(不可读,文件不存在就创建,存在就清空) 和 "x"(文件存在就报错)。
追加模式"a"(不可读,文件不在就创建,存在就追加)。
字节模式打开(内存—》二进制) :默认只读模式 "rb"。
只写模式"wb"(不可读,文件不存在就创建,存在就清空) 和 "xb"(文件存在就报错)。
追加模式"ab"(不可读,文件不在就创建,存在就追加)。
r+, 读写【可读,可写】 指针从0开始阅读, w不用清空,在指针位置追加
w+,写读【可读,可写】 先清空,写之后就可以读了
x+ ,写读【可读,可写】 文件存在就报错
a+, 写读【可读,可写】 打开的同时指针在最后
二、操作文件
1、read() 读取文件,默认全部,加上参数可读取你要的字符数量
2、write() 写入文件
3、tall() 获取当前指针位置,起始为0字节位置,一个汉字3个字节
4、seek ( num) 调整指针位置
5、flush(self) 刷新文件内部缓冲区,写入数据时,程序终止才自动存到硬盘,flush可以不用等到程序终止
6、readline() 仅读取一行数据
7、readlines() 读取每一行形成一个列表
8、truncate() 截取指针前的数据,后面的都不见了
三、关闭文件
1、close()
2、with open()as f: 这种文件打开方式会自动close,还支持同时打开两个文件
with open(“源文件”,”r“) as abj1,open(”新文件“,”w“) as abj2:
for i in abj1:
abj2.write(i)
#表示从源文件中一行一行的数据写到新文件里,实现文件复制,for循环每次读取一行
#使用该方式系统会自动close
© 著作权归作者所有
举报
发表评论
![](/_nuxt/img/avatar.1f60510.png)
0/200