文件操作是程序设计中不可或缺的重要部分。Python通过一个内置函数open来打开文件。
open(filename,mode,buffer)
其中第一个参数是要打开的文件的文件名,必选;第二个是打开方式,可选;第三个为缓冲区,可选。默认情况下是以“读”模式打开文件。该函数返回的是流类型对象。
mode有如下几种:
* r:读模式(默认值)
* w:写模式
* a:追加写模式
* b:二进制模式
* t:文本模式(默认值)
* +:更新已有硬盘文件(读和写模式)
* U:通用换行模式(Universal new line mode)
如果到打开的文件不存在或者其他问题,会跑出IOError异常。
常用的文件对象属性:
* mode:文件打开模式
* name:打开的文件名称
* closed:文件是否关闭
常用的文件对象方法有:
* tell():获取在当前文件中,目前所处的位置。起始值为0.
* seek(position,mode):在当前文件中移动。其中第一个参数是要移动的距离,第二个参数是模式:0表示移动绝对位置,相对于文件头而言;1表示移动相对位置,就当前位置而言;2表示相对于文件尾的位置。
* read(max_byte_num):从文件中读取字节。max_byte_number为可选参数,表示读取的最大字节数。如果不选,默认为读取到文件尾。读取后,当前位置会发生变化,即增加读取的字节数。
* readline():一次读取文件的一行。
* write(content):向文件中写数据。content为要写入的内容。
* close():关闭文件
一个文件读写的例子:
view plaincopy to clipboardprint?
1. try:
2. f = open('d:/hello_python.txt','w')
3. f.write('hello my friend python!')
4. except IOError:
5. print('IOError')
6. finally:
7. f.close()
8.
9. try:
10. f = open('d:\hello_python.txt','r')
11. print(f.read())
12. f.close()
13. f.tell()
14. except ValueError as ioerror:
15. print('File alread closed {0}'.format(type(ioerror)))
16. finally:
17. print('operation end
本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/422967,如需转载请自行联系原作者