概述
文件的基础操作
open():可以打开一个指定路径下的文件,返回一个文件对象。
open最常用的有两个参数,第一个参数是文件名(绝对路径或者相对路径),第二个是打开方式,‘r’ ,’w’, ‘a’, ‘b’,表示读(默认),写,追加写,二进制。关于内建函数
内建函数其实是包含在builtins这个模块中的一些函数。而builtins这个模块Pyhton解释器会自动包含。
使用 dir(builtins)可以看到Python中一共有哪些内建函数。关于文件对象
我们学习C语言知道FILE*,通过FILE*进行文件读写操作。
我们学习Linux时又知道,FILE*结构中其实包含了文件描述符,操作系统是通过文件描述符来对文件操作的。
Python的文件对象,其实也包含了文件描述符,同时也包含了这个文件的一些其它属性,本质上也是通过文件描述符完成对文件的读写操作。
既然文件对象包含了文件描述符,我们知道,一个进程可操作的文件描述符的数目是有上限的,因此对于用完了的文件描述符要及时关闭。
当文件对象被垃圾回收器销毁时,也会同时释放文件描述符。
如果 文件打开失败,(例如文件不存在),就会执行出错。读文件
read:读指定长度字节数的数据,返回一个字符串。(不是很常用)
readlines:读取一行数据,返回一个字符串。
readlines:读取文件,返回一个列表,列表中的每一项是一个字符串,代表了一行内容。
直接使用for line in f的方式循环遍历每一行。功能和readline类似,一次只读一行,相比于readlines占用内存少。写文件
write:向文件中写一段字符串。
如需写文件,必须要按照’w’或者’a’的方式打开文件,否则会写失败。
writelines:参数是一个列表,列表中的每一个元素是一个字符串。
并没有一个writeline这样的函数,因为这个动作等价于write时在字符串后面加上’n’,同理,使用writelines的时候,也需要保证每一个元素的末尾,都带有’n’读写缓冲区
Python的文件读写操作,即可以支持带缓冲区,也可以选择不带缓冲区
在使用open函数打开一个文件的时候,其实还有第三个参数,可以指定是否使用缓冲区,以及缓冲区的大小是多少。
使用flush方法可以立即刷新缓冲区。操作文件指针
文件具备随机访问的能力,这个过程是通过操作文件指针完成的。
seek:将文件指针移动到从文件开头算起的第几个字节上,有两个参数,第一个参数offset表示偏移的字节数,第二个参数whence表示偏移量的其实位置在哪,值为0,表示从开头计算,值为1,表示从当前位置,值为2,表示从文件结尾位置
tell:获取当前文件指针指向的位置,返回当前位置到文件开头的偏移量。- with语句和上下文管理器
在with语句块内进行文件操作,当文件操作完毕之后,出了with语句之外,就会自动执行f的关闭操作。
一个支持上下文协议的对象才能被应用于with语句中,我们将这种对象称为上下文管理器,Python中很多内置对象都是上下文管理器,例如文件对象,线程锁对象等。
最后
以上就是妩媚香氛为你收集整理的我的Python小课堂——文件操作的全部内容,希望文章能够帮你解决我的Python小课堂——文件操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复