python3的文件读写模式
2017-04-18 14:00
274 查看
任何一种语言,文件的读写都是非常常见的。python的文件读写非常简单,仅仅一个函数open(file也可以,但是我不常用)。先看看官网的解释:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)Open file and return a stream. Raise IOError upon failure.常用打开模式:r 只能读r+ 可读可写,不会创建不存在的文件,从顶部开始写,会覆盖之前此位置的内容w+ 可读可写,如果文件存在,则覆盖整个文件,不存在则创建w 只能写,覆盖整个文件,不存在则创建a 只能写,从文件底部添加内容 不存在则创建a+ 可读可写 从文件顶部读取内容 从文件底部添加内容 不存在则创建但是实验发现,这里的
r+ 可读可写 不会创建不存在的文件 从顶部开始写 会覆盖之前此位置的内容不完整。test.txt的原始文件如下:
早上好 您好 how are you?如果我们在open文件后,没有进行任何读写,则从末尾加入
1 with open('test.txt', mode='r+', encoding='utf-8') as f: 2 f.writelines("北京")这时文件变成
北京好 您好 how are you?如果我们在写之前进行了读操作,则会在末尾加入文件
1 with open('test.txt', mode='r+', encoding='utf-8') as f: 2 f.read(1) 3 f.writelines("北京")这时在文件的末尾加入了北京两个字,与我们读多少没有关系。作用上类似a+模式
早上好 您好 how are you?北京注意:以r+模式处理文件,容易弄错内容,千万注意 如果以w+方式打开文件,写入文件后,文件被覆盖或重建,样例
1 with open('test.txt', mode='w+', encoding='utf-8') as f: 2 f.write("tianjin") 3 f.flush() 4 print(f.readlines())得到空[]
with open('test.txt', mode='w+', encoding='utf-8') as f: f.writelines("天津") f.writelines('山东') f.flush() f.seek(0) print(f.readlines())需要seek才能读取到刚刚写入的内容。 另外注意 写操作不会自动加入换行符读的一行末尾会有换行操作,可以用''.strip()去掉换行符
with open('test.txt', mode='r', encoding='utf-8') as f: for line in f: print(line.strip()) 去掉换行
转载自:http://www.cnblogs.com/yangshl/p/6285942.html如果某个文件正在open,就只这时,文件被修改,正在读文件的句柄能读出修改的内容
1 import time2 with open('test.txt', mode='r', encoding='utf-8') as f:3 time.sleep(5)4 for line in f:5 print(line.strip())在文件末尾增加文件时,我们的f能读取到最后新增的内容。如果修改已经读取行的内容,若不seek,则读取不到。这特点能用户增量读取分析日志文件
相关文章推荐
- Python文件读写模式
- 第24课 Python文件打开、读写模式详解
- 正确理解Python文件读写模式字w+、a+和r+
- 【python基础知识】文件操作中的读写模式讲解
- python文件处理,b模式的读写,rb, wb,编码的两种方式
- Python读写文件模式
- Python读写文件的方法,及其读写(IO)的几种模式,
- Python 文件操作中的读写模式:open(path, '-模式-',encoding='UTF-8')
- python 中文件读写模式一定要注意
- 正确理解Python文件读写模式字w+、a+和r+
- python 文件读写模式
- Python读写文件模式和文件对象方法
- Python读写文件模式
- Python读写文件模式
- Python读写文件模式
- python文件读写模式
- python文件读写模式解析
- python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)
- python open文件 读写模式说明
- 使用Python进行二进制文件读写