1.文件读写过程
1. 打开文件
2. 向文件中写入内容;
3. 关闭文件
<a href="https://s3.51cto.com/wyfs02/M00/9B/EE/wKiom1lozQvxE-OkAAAZ8UD4Btg732.png" target="_blank"></a>
2.文件读写
如果文件很小, read() 一次性读取最方便;
如果不能确定文件大小,反复调用 read(size)
比较保险;如果是配置文件,调用 readlines()
二进制文件,用‘rb’模式打开即可
<a href="https://s3.51cto.com/wyfs02/M01/9B/ED/wKioL1lozWXwanXWAAAbhFv6s60485.png" target="_blank"></a>
3.open函数的模式
r 以读的方式打开,定位到文件开头 , 默认的 mode
r+ 以读写的方式打开,定位文件开头 , 可以写入内容到文件
w 以写的方式打开,打开文件的时候会清空文件的内容,并且不能读
w+ 以读写的方式打开,定位到文件头,并且打开文件的时候也会清空文件的内容
a 以写的方式打开,定位到文件的末尾,是一个追加的操作 , 但并不允许读
a+ 以读写的方式打开,定位到文件的末尾,追加的方式
<a href="https://s3.51cto.com/wyfs02/M01/9B/ED/wKioL1lozgnyVGCcAAAbhFv6s60323.png-wh_500x0-wm_3-wmp_4-s_2760880331.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/9B/EE/wKiom1lozjywt411AABpNx0otYA449.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/9B/ED/wKioL1lozj2zrv6lAAAVthRL4tg657.png" target="_blank"></a>
4.文件的其他操作
f.flush()函数,将缓冲区的内容写入到硬盘中
f.seek(offset[,whence]),offset 表示移动多少字节, whence 为 1 的时候表示相对于当前位置移动的;当 2 的时候从文件的末尾往后移动,但不一定所有的平台都支持;默认为 0 表示从文件开头往后移动
f.tell()函数,返回当前文件指针的偏移量
<a href="https://s3.51cto.com/wyfs02/M01/9B/ED/wKioL1lozsihI7e_AAAaCdsByjw728.png" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/9B/EE/wKiom1lozsihCq4KAAAT8cCYYwQ242.png" target="_blank"></a>
5.with语法
一般情况打开一个文件,经过操作之后,都要显式的执行xx.close() 将文件关闭 .with 用于需要打开、关闭成对的操作,可以自动关闭打开对象。
<a href="https://s1.51cto.com/wyfs02/M00/9B/EE/wKiom1lozzuSFCOaAAAy0dB2OGM122.png" target="_blank"></a>
本文转自 red777 51CTO博客,原文链接:http://blog.51cto.com/12314711/1947709