python-open/with打开文件
open方法
file = open(filename [,mode,encoding])
file.close()
mode | 可做操作 | 是否覆盖 | 若文件不存在 |
---|---|---|---|
r | 只能读,以只读模式打开文件,文件指针在开头 | - | 报错 |
r+ | 可读可写 | 是 | 报错 |
w | 只能写,以只写模式打开文件,文件指针在开头 | 是 | 创建 |
w+ | 可读可写 | 是 | 创建 |
a | 只能写,以追加模式打开文件,在文件末尾追加内容 | 否,追加 | 创建 |
a+ | 可读可写 | 否,追加 | 创建 |
b | 以二进制方式打开文件,不能单独使用,需要与其他模式一起使用,如rb,wb | ||
+ | 以读写方式打开文件,不能个单独使用,需要与其他模式一起使用,w+ |
file = open(r'D:\Users\Desktop\新建文本文档.txt','r')
print(file.read()) # 读取所有内容
print('\n')
file.close()
with方法
with open(r'D:\Users\Desktop\新建文本文档1.txt','w') as file:
file.write('奋斗成就更好的自己')
通过python往已有数据中插入新的一行
以csv和text文件为例:
"""在csv文件中第一行添加索引字段"""
"""seek() 方法用于移动文件读取指针到指定位置。
fileObject.seek(offset[, whence])
offset:开始的偏移量,也就是代表需要移动偏移的字节数
whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
"""
filename = r'D:\Users\Desktop\data-test.csv'
with open(filename, 'r+') as f:
content = f.read()
f.seek(0, 0)
#mid, text, source, uid
text = 'mid' + ',' + 'text' + ',' + 'source' + ',' + 'uid'
f.write(text + '\n' + content)
with 与 open的区别
1、一般是使用 open() 和 close() 组合来打开和关闭文件
2、open()函数是Python内置的用于对文件的读写操作,返回的是文件的流对象。
3、with关键字用于创建一个临时的运行环境,不再需要访问文件后自动将其关闭,运行环境中的代码执行完后自动安全退出环境。