几种编码标准
ASCII 美国信息交换标准代码
GB2312 国标码
GBK 国标扩展码
Unicode 统一码 16位
UTF-8 可变长度字符编码
f = open()函数
用于打开文件,创建一个 file 对象,参数及顺序如下:
file
包含文件名称的一个字符串,内容即为文件路径,分为两种方式:
相对路径:从当前文件目录开始
绝对路径:从磁盘开始mode='r'
打开文件的模式:
r:默认模式,以只读方式打开文件,文件指针在文件开头。若文件不存在,抛出异常
w:以只写方式打开文件,若文件存在会被覆盖,若文件不存在会自动创建
a:以追加方式打开文件,若文件已存在,则指针在文件尾,若文件不存在则自动创建
r+:以读写方式打开文件,指针在文件开头,若文件不存在,抛出异常
w+:以读写方式打开文件,若文件存在会被覆盖,若不存在,自动创建
a+:以读写方式打开文件,若文件存在,指针在文件末尾,若不存在,自动创建
b:默认均以文本方式打开文件,若在上述字母后加“b”意为以二进制方式打开buffering=-1
如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
encoding=None
指明对文件编码方式errors=None
指明编码和解码错误时怎么样处理。不能在二进制的模式下使用。
1)当指明为’strict’时,编码出错则抛出异常ValueError。
2)当指明为’ignore’时,忽略错误。
3)当指明为’replace’时,使用某字符进行替代模式,比如使用’?’来替换出错的。
4)其它相应还有surrogateescape/xmlcharrefreplacs/backslashreplace。newline=None
控制文本模式之下,一行的结束字符。可以是None,’’,\n,\r,\r\n等。closefd=True
用来当给一个文件句柄传进来时,而当退出文件使用时,而不对文件句柄进行关闭。如果传递一个文件名进来,这个参数无效,必定为True方式。用来当给一个文件句柄传进来时,而当退出文件使用时,而不对文件句柄进行关闭。如果传递一个文件名进来,这个参数无效,必定为True方式。opener=None
用来实现自己定义打开文件方式,较为复杂
File对象
一个文件被打开后,有一个file对象,可以得到有关该文件的各种信息。
File对象属性
f.closed 如果文件已被关闭返回true,否则返回false。
f.mode 返回被打开文件的访问模式。
f.name 返回文件的名称。
f.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。
File对象函数
f.close()
关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。
当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。f.write(str)
向文件中写入指定字符串。file.writelines(sequence)
向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。f.read(size)
从文件读取指定的字节数,如果未给定或为负则读取所有。f.readline(size)
从文件读取整行,包括 "\n" 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 "\n" 字符。f.readlines()
读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。
如果碰到结束符 EOF 则返回空字符串。f.tell()
返回文件的当前位置,即文件指针当前位置。file.next()
返回文件下一行。f.seek(offset, whence=0)
用于移动文件读取指针到指定位置
offset -- 开始的偏移量,也就是代表需要移动偏移的字节数
whence -- 默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。