python文件操作之文件打开方式

1.文件的打开方式

open(name[,mode[buf]])
name:文件的路径
mode:文件的打开方式,如w、r、wr、rw等
buf:缓存区大小

mode详解:

mode 说明 备注
r 只读方式打开 文件必须存在
w 只写方式打开 文件不存在则创建文件
文件存在则先清空文件
a 追加方式打开(即一打开文件,文件指针自动移到文件末尾) 文件不存在则创建文件
r+ 以读写方式打开文件,可对文件进行读和写操作。文件指针在文件头  
w+ 消除文件内容,然后以读写方式打开文件。  
a+ 以读写方式打开文件,并把文件指针移到文件尾。  






注:rb,wb,ab,ab+,wb+,rb+ab+,以二进制打开文件,如打开图片等

2.文件读取方式

read([size]):读取文件(读取size个字节,默认读取全部)
readline([size]):读取一行
readlines([size]):读取文件至内存(并非整个文件,而是DEFAULT_BUFFER_SIZE大小进缓存,再返回其每一行组成的列表
readline s示例:
#-*-coding:utf-8-*-
fr = open('c:\\readline.txt')
    for  line in  fh.readlines(): 
        print  line
readline示例

#-*-coding:utf-8-*-
f = open('readline.txt','r')  
for line in open('readline.txt'):  
    line = f.readline()  
    print line


3.文件写入方式

write(str):直接将字符串写入文件
write(sequence_of_strings):将多行写到文件
4.简单示例

#-*-coding:utf-8-*-
#文件名:hello.txt,内容:hello world!
#0x00 r方式
fo = open("hello.txt")#默认以只读方式打开
fr = fo.read()
fo.wirte("write hello!") #此时报错,因为fo以只读方式打开

#0x01 w方式
fo = open("hello.txt","w") #写文件,无则创建,有则清空
fo.write("hello by write") #此时原字符串被置换为hello by write
fo.close()

#0x02 追加方式a
fo = open("hello.txt","a") #写文件,无则创建
fo.write("hello by a") #文件原内容保留,新加行hello by a
fo.close()

#0x03 读写方式r+
fo = open("hello.txt","r+") #读写方式r+
fo.write("hi r+") #此时的文件内容改为:hi r+ world!,覆盖了原来hello的位置
fo.close()

#0x04 读写方式w+
fo = open("hello.txt","w+") #读写方式w+
fo.read() #此时的文件为空
fo.close()

总结,除了要了解以上文件的基本操作方式,还应当了解文件的其他操作方法。下面我们再来了解下如何打开创建一个utf-8或者其他编码格式的文件呢?

5.codecs

codecs模块提供方法创建指定编码格式文件

open(fname,mode,encoding,errors,buffering)

#-*-coding:utf-8-*-
import codecs
f = codecs.open('codecs.txt','w','utf-8') #默认的mode为rb
f.write(u'博客')
f.close()
关于codecs更多的说明,请参考其他教学资料。


你可能感兴趣的:(Python)