使用流程
- 打开文件,得到文件句柄,并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
具体用法
open(name, [, mode[, buffering]])
参数说明:
- name: 一个包含了你想要访问的文件名称的字符串值
- mode: mode决定了打开文件的模式,默认是r
- buffering: 如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
打开文件的模式:
- r :以只读方式打开文件。文件的指针会放在文件的开头。这是默认的模式。
- rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
- r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
- rb+: 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
- w: 打开一个文件用于写入。如果该文件已将存在则打开文件,并从开头开始编写,即原有的内容会被删除。如果该文件不存在,创建新文件。
- wb: 以二进制格式打开一个文件用于写入。如果该文件已经存在则打开文件,并从头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- w+: 打开一个文件用于读写。如果该文件已经存在则打开文件,并从开头开始编写,即原有内容会被删除。如果该文件不存在,创建新文件。
- wb+: 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
- a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
- a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
- ab+: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
file对象方法
file.read([size])
size未指定则返回整个文件,如果文件大小大于2倍内存则有问题,f.read()读到文件结尾时候返回空字串file.readline()
返回一行file.readlines([size])
返回包含size行的列表,size未指定时则返回全部行for line in f: print line
通过迭代器访问f.write("hello\n")
如果要写入字符串以外的数据,先将它转换为字符串。f.tell()
返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。f.seek(偏移量,[起始位置])
用来移动文件指针。
- 偏移量: 单位为比特,可正可负
- 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
f.close()
关闭文件
Reference:
http://www.runoob.com/python/python-func-open.html