python文件I/O
file = open(filename,mode) ,python使用open或者file:打开文件,打开文件有几种模式,譬如酱紫:
test = open(“txt.txt”,”w”),更多的参数如下表:
模式 |
注释 |
‘w’ |
以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容,写入前先清空文件。 |
‘a’ |
以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 |
‘r+’ |
以读写方式打开文件,可对文件进行读和写操作,还没试过这种模式,稍后补充。 |
‘w+’ |
消除文件内容,然后以读写方式打开文件,,还没试过这种模式,稍后补充。 |
‘a+’ |
以读写方式打开文件,并把文件指针移到文件尾。 |
‘b’ |
以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 |
'x ' |
与w类似,都是可写入,但以'x'模式打开的时候,如果路径下已经存在相同的文件名,会抛出异常,而'w'模式的话会直接覆盖同名文件,所以使用'x'会比较安全。 |
当使用open打开文件之后,变量具有以下方法,用于文件操作:
方法名 |
注释 |
file.close() |
关闭文件,open()和close()应该是成对存在的,使用完之后应该及时关闭,否则会占用系统的可打开文件句柄数 |
file.fileno() |
获得文件描述符,是一个数字,不太明白是啥意思 |
file.flush() |
刷新缓存 |
file.isatty() |
如果文件是一个交互终端,则返回True,否则返回False。 |
file.read([count]) |
读出文件,如果有count,则读出count个字节。 |
file.readline() |
读出一行信息,一般先取得行数,然后用while循环,循环读出文件信息。 |
file.readlines() |
读出所有行,也就是读出整个文件的信息。 |
file,.seek(offset[,where]) |
把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。 |
file.tell() |
获得文件指针位置。 |
file.truncate([size]) |
截取文件,使文件的大小为size,将文件大小重置为size。 |
file.write(string) |
把string字符串写入文件。 |
file.writelines(list) |
把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。 |