鱼C论坛

 找回密码
 立即注册
查看: 2413|回复: 0

[学习笔记] L28 文件打开基础操作 理解

[复制链接]
发表于 2020-4-18 22:19:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 foxdai 于 2020-4-20 16:51 编辑

0. 注意文件内容为中文和西文的字符同时存在时,如果读取则出错、写入为乱码;文件指针不是在划分中文字符的中间,命令不会出错;
1. 'r',只读,注意中文+西文混合的情况,读取不正确的话会出错;

2.'w',写入 ('x'可写,存在即出错,不存在即创建)
(1)在打开文件时,如果文件存在,则原文件内容就会被删除;用f.close()后,缓存内容才会被写入文件保存;
(2)在文件指针处开始,覆盖原内容;
(3)只是写入功能,无法使用read()功能
3.'r+',读写+只读,注意文件指针位置

4.'w+',读写+写入,注意文件指针位置
5.'a+',读写+添加,只在文件内容末尾添加内容,即使用seek()功能改变文件指针,该模式下打开文件,使用f.write()添加内容,仍然添加在文件内容末尾;

6. f.seek(n,0), n为西文的字符个数即字节数,如果是中文则一个中文为2个字节数即2个西文;使用f.read()或 f.readline()的时候,注意文件指针不能在一个中文中间开花,即不能将中文字一分为二;
7. f.readline(),从指针位置开始读取,而不是读取整行;

8. path的表示方法:d:/test.txt, d://test.tx, d:\\test.txt,  只有d:\test.txt 打不开文件
9. 如果使用全数字123.txt 则数字会被转化为字母S,并会生产文件名;比如d:\123.txt,因为其中少一个转义字符'\',并且文件名为全数字,按照标准会出错的,但是python将其转化为S.txt;

10. f.close()及时关闭文件,避免文件在缓存中丢失(垃圾回收机制:引用计数降为0会自动关闭文件)
11. f.seek()按字节计数,f.read()按字符计数; 使用时,需注意同步;

12. f.seek(offset,from), 文本方式打开只可以使用from=0, 否则使用from=1,2会出错;二进制即b方式打开才可以使用from = 1, 2;
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-30 13:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表