【时间】2018.11.20
【题目】python中的open函数总结
一、open函数语法
open(name[, mode[, buffering]])
函数功能: python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
参数说明:
- name : 一个包含了你要访问的文件名称的字符串值。
- mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
- buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
二、 不同模式打开文件的完全列表
【总结】1、r、w、a分别表示读、写、追加(add)
2、b表示以二进制的方式
3、+ 表示以读写的方式打开
4、当以a、w的方式打开时,若文件不存在,会创建文件,若是以r的方式打开,文件不存在时会报错,r+也是如此。
5、以w、r的方式打开时,指针会定位在开头,其中使用w时会清空文件,注意使用r+时不会清空文件;当以a的方式打开时,指针会定位在文件末尾。
三、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 - 文件尾
【注意】若不使用‘b’方式打开,则起始位置只能选择0 - 文件头,否则会报错io.UnsupportedOperation: can't do nonzero end-relative seek
f.close() 关闭文件