python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)

如下表

 

模式 可做操作 若文件不存在 是否覆盖
r 只能读 报错 -
r+ 可读可写 报错
w 只能写 创建
w+  可读可写 创建

a   只能写 创建 否,追加写
a+ 可读可写 创建 否,追加写
b

表示要读写二进制数据,

可与上面的模式组合。无b时以字符串数据形式操作

   
 
 

 1.只读模式(r)一个存在的文件:

 
def file_operation():
    with open('/wzd/test.txt', mode='r') as f:
        # f.write('abc')
        r = f.readlines()
        print r
        print '---done---'

file_operation()
 

正常输出:

2.只读模式(r)一个不存在的文件:

 
def file_operation():
    with open('/wzd/test001.txt', mode='r') as f:
        # f.write('abc')
        r = f.readlines()
        print r
        print '---done---'

file_operation()
 

注意上面的文件名字变了,输出如下:

3.只读模式去写文件:

 
def file_operation():
    with open('/wzd/test.txt', mode='r') as f:
        f.write('abc')
        r = f.readlines()
        print r
        print '---done---'

file_operation()
 

 

seek

seek(offset, whence)

offset: 偏移量
whence: 表示的是从哪个位置进行偏移,
0: 表示开头, 默认值
1: 表示当前位置,
2: 表示结尾

注意, 移动的单位是byte.
所以如果是UTF-8的中文部分要是3的倍数.

通常我们使用seek都是移动到开头或者结尾.
seek(0, 0): 移动到开头
seek(0, 2):移动到结尾

posted on 2019-01-18 17:34  林肯公园  阅读(843)  评论(0编辑  收藏  举报

导航