python文件打开方式

来源:互联网 发布:excel怎么复制所有数据 编辑:程序博客网 时间:2024/05/18 00:08

    之前也用到过python文件的读取和写入,但是一直没有系统的了解一下。今天终于有时间,可以整理一下。以后忘记了也可以翻出来看看

1、r只读

2、w只写

3、r+,可读可写。当文件存在时会报错

需要注意:当你打开文件先读一边,然后接着写入,此时够写入的文件不会覆盖前面的内容。原因是,此时f相当于一个指针,指向刚才读取出来的文件最后一样的下一行,所以会直接添加在后面。

代码如下:

f=open('list.txt','r+')
print f.read()
f.write("zhouchao  male  24   tester")
f.close()

下图1为文件开始内容,如2为程序执行后的内容:

图1:


图2:


4、w+,可读可写。当文件不存在时会新建

5、a ,追加文件,不可读

6、a+,追加文件,可读可写

7、rb 以二进制读模式打开。只可读

8、rb+ 以二进制写读写模式打开。可读可写,当文件不存在时报错

9、wb 以位进制写模式打开。只可写

10、wb+ 以二进制读写模式打开。可读可写。当文件不存在时新建

11、ab  以二进制追加模式打开。追加文件,不可读

12、ab+  以二进制读写模式打开。追加文件。可读可写



拓展:文件的操作

1、f.read([size])       #size为读取的长度,byte为单位

2、f.readline([size])     #读一行,如果定义了size,有可能返回的只是一行的一部分

3、f.readlines([size])     #把文件的每一行作为列表的一个元素,并返回list 。如果有size参数,那么就可能只读到文件的一部分。

4、f.write(str)    #将str写到文件中,write()并不会在str后面加上一个换行符

5、f.writelines(seq)    #将seq的内容全部写到文件中(多行一次性写入)。同上依然不会在最后一行加换行符。

6、f.close()  

7、f.flush()   #把缓冲区的内容写入到硬盘

8、f.fileno()    #返回一个长整型的“文件标签”

9、f.tell()    #返回文件操作编辑的当前位置,以文件的开头为原点

10、f.next()   #返回下一行,并将文件操作标记位移到下一行

11、f.seek(offest[,whence])       #将文件操作标记移动到offest的位置。这个offest一般是相对于文件的开头来计算的。但是会根据whence而变化:当whence为0时,表示从头开始,1时表示从当前开始,2时表示从尾开始。

12、