频道栏目
首页 > 资讯 > Python > 正文

python的文件操作重点记录

18-07-30        来源:[db:作者]  
收藏   我要投稿

关于文件操作几种模式的说明

(1)只读模式r:打开文件后只能读取,不能进行其他操作,文件不存在会报错

(2)只写模式w:打开文件后只能写入,不能进行其他操作,若文件存在且有内容,则写入内容将原始内容全部覆盖,文件不存在则创建新文件

(3)追加模式a:与只写模式同,区别在于若文件存在且有内容,则将写入内容追加在原有内容后面

(4)二进制模式*b:如rb,wb,处理图片、视频等二进制文件,可以进行上述三种操作

(5)+模式:如r+,rb+,都表示以读写模式打开而文件,但只是增加权限,各种前缀模式的基本规则还是一样,如r+在文件不存在时会报错等,w+区别在于若文件存在且有内容,则写入内容只会从头开始往后覆盖,不会覆盖全部原始内容

关于文件的本质和几种读取操作

(1)文件本质是迭代器,可以导入collections模块,再使用isinstance(f,collections.Iterator)方法来判定

(2)文件读取有四种方式,字节读取f.read(字节),单行读取f.readline(限制范围),按行读取f.readlines()(返回的是行列表),for in遍历

(3)文件读取方式选取:readline是每次读取某一行文件内容到内存,所以节省内存,但后期处理性能慢,适用于读取大规模文件中的部分进行处理;read和readlines是一次性读取整个文件到内存,耗内存,但后期处理性能快,适用于读取小规模文件。但是需要注意的是,如果需要读取大规模文件整体进行操作,为节省内存,可以使用read方法读取多次,每一次读取一定字节数,再使用循环分别进行处理

关于文件可读\可写性判定

(1)语法是f.readable()或f.writable()

(2)判定可读可写性可以用在程序的容错处理中,使程序不会报错,从而不影响后续程序运行

关于文件定位

(1)f.seek(偏移量)可以指定文件指针偏移量,f.tell()可以返回当前文件指针的位置(文件指针默认初始位置为文件头,即偏移量为0)

(2)在进行文件操作时,可以将文件指针进行移动,以获取期望的结果

关于文件关闭及文件处理中的缓冲区

(1)语法:f.close()

(2)文件操作完毕后一定要进行文件关闭,原因有二:1.可以释放文件占用的系统资源(文件开着的话系统会为其分配内存,以便后期处理);2.关闭文件会立即清空缓冲区的数据到磁盘文件

(3)缓冲区:在进行文件处理时,如写入操作,系统会将写入的内容先放在一个缓冲区中,待到操作结束或某个触发条件满足,再将缓冲区中的内容一次性写入到目标文件中,因此在文件关闭前,内容并没有真正写入文件中,当执行关闭操作时,系统就会清空缓冲区,将内容写入文件。这里有一个立即清空缓冲区的函数,f.flush(),作为触发条件,直接完成当前的操作

关于文件重命名

(1)导入os模块,使用模块中的rename()或renames()方法

(2)两种方法的区别是前者只能对文件进行重命名,后者可以同时对一个目录及其下的文件重命名

关于文件删除

(1)导入os模块,使用模块中的remove(f),rmdir(dir),removedirs(dir)方法

(2)三种方法区别是前者删除文件,中者删除空目录,后者同时删除目录及其下的空目录

关于目录转换操作

(1)导入os模块,使用模块中的getcwd(),chdir(dir),listdir(dir)方法

(2)三者作用分别是获取当前目录路径,改变当前目录路径和列举当前目录中的所用文件和目录(仅限一级,即目录中目录的内容不会被列举)

相关TAG标签
上一篇:单点登录原理与简单实现
下一篇:Docker安装和使用(tomcat、mysql使用)教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站