码迷,mamicode.com
首页 > 编程语言 > 详细

python文件操作

时间:2019-01-12 19:58:18      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:port   bubuko   字符   异常处理   管理   常用   文件名   必须   pytho   

文件IO常用操作:

open(file,mode=‘r‘,buffering=-1,encoding=None,error=None,newline=None,closefd=True,opener=None):打开一个文件,返回一个文件对象和文件描述符,打开文件失败,则返回异常。

file:打开或者要创建的文件名,如果不指定路径,默认是当前路径

mode模式:

技术分享图片

r:只读打开,文件若不存在,抛FileNotFoundError异常

wxa都是可以产生新文件,w不管文件存在与否,都会生成全新内容的文件;a不管文件是否存在,都能在打开的文件尾部追加;x必须要求文件事先不存在,自己造一个新文件

+:为r,w,a,x提供缺失的读写功能

 

read(size=-1):读取,size表示读取多少个字节或者字符,负数或者None表示读取到EOF

write(s):把字符串s写入到文件中并返回字符的个数

close():flush并关闭文件对象

readline(size=-1):行读取,size设置一次读取行内多少个字符或字节

readlines(hint=-1):多行读取,指定hint返回指定的行数

seek():文件指针操作

tell():指针位置

 

异常处理:

技术分享图片

使用finally可以保证打开的文件可以被关闭

 

上下文管理:

技术分享图片

使用with...as关键字,上下文管理的语句块并不会开启新的作用域,with语句块执行完的时候,会自动关闭文件对象

 

io模块中的类:from io import String

内存中,开辟的一个文本模式的buffer,可以像文件对象一样操作它,当close被调用的时候,这个buffer会被释放

技术分享图片

getvalue():获取全部内容,跟文件指针没有关系

一般来说,磁盘的操作比内存的操作要慢的多,内存足够的情况下,一般的优化思路是少落地,减少磁盘IO的过程,可以大大提高程序的运行效率

 

from io import BytesIO

内存中,开辟的一个二进制模式的buffer,可以像文件对象一样操作它,当close被调用的时候,这个buffer会被释放

技术分享图片

 

file-like对象:类文件对象,可以像文件对象一样操作,socket对象,输入输出对象(stdin,stdout)都是类文件对象

技术分享图片

技术分享图片

 

python文件操作

标签:port   bubuko   字符   异常处理   管理   常用   文件名   必须   pytho   

原文地址:https://www.cnblogs.com/s-p-l/p/10260752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!