(3) 使用模式 ’a’, 追加
测试代码:
with open(‘test.txt’, ‘a’) as f:
f.write('The third line')
效果:
指向的文件存在则追加,不存在则创建新文件写入!修改一下文件名,指向不存在的文件试试:
with open(‘test2.txt’, ‘a’) as f:
f.write('The third line')
创建新文件写入:
(4) ‘r+’ 模式测试
with open(‘test.txt’, ‘r+’) as f:
f.write('Test r+ mode')
结果:
文件指针指向文件头,如果文件存在则覆盖之前的内容。
如果指向一个新文件,则抛出异常,不会创建新的文件写入内容。
with open(‘test3.txt’, ‘r+’) as f:
f.write('Test r+ mode')
输出:
with open(‘test3.txt’, ‘r+’) as f:
FileNotFoundError: [Errno 2] No such file or directory: ‘test3.txt’
(5) ‘w+’ 模式测试
测试代码:
with open(‘test.txt’, ‘w+’) as f:
f.write('w+ mode Demo')
结果是 文件存在则覆盖,之前的内容全部清除,写入新的内容。不存在,创建新的文件写入。
之前的内容都被清除了,写入了新的内容。
with open(‘test3.txt’, ‘w+’) as f:
f.write('w+ mode Demo')
创建了一个新的文件test3.txt
(6) ‘a+’ 模式测试
测试代码:
with open(‘test.txt’, ‘a+’) as f:
f.write('a+ mode test')
指向存在的文件时,直接在原有内容后追加
指向不存在的文件时,创建新的文件写入
with open(‘test4.txt’, ‘a+’) as f:
f.write('a+ mode test')
结果是:
关于读取函数read( ), readline(), readlines()
默认情况,read 是一个字节一个字节的读,效率低, readline( ) 一行一行的读取。
readlines 按照行读取,但是将所有数据以一个列表形式返回。
|