open 内置函数(open底层调用的是操作系统的接口)
语法:f = open(‘路径‘, encoding=‘编码‘, mode=‘模式‘)
注意:文件在同一目录下称相对路径,可仅输入文件名
f = open(‘H:\你好.txt‘, encoding=‘utf-8‘, mode=‘r‘) # 打开文件
print(f.read()) # 输出读取的文件
f.close() # 关闭文件
b(rb,wb,ab)模式:以bytes方式打开,操作非文本文件,读取到的内容是字节类型,写入时也需要提供字节类型(图片、视频、音频)不用加 encoding=‘utf-8‘
文件不存在,创建文件写入;文件存在,清空内容再写入
注意:文件没关闭前写入的每条都会存在,文件关闭后再重新再打开写入,才会覆盖
w:写入
wb:以bytes模式写入
w+:写入并读取(先写后读)
文件不存在,创建文件写入;文件存在,在原文件的最后面追加内容
读取
read()
read(n)
readine()
(自带换行)readlines()
(列表中的每个元素是源文件的每一行)写入:write(‘内容‘)
光标操作
注意:隐藏的换行 /n
要占两个字节
获取光标的位置:tell()
(单位:字节)
调整光标的位置:seek(偏移量,起始点)
(单位:字节)
返回值:操作成功,则返回新的光标位置;如果操作失败,返回 -1
强制刷新:flush()
一般情况下,文件关闭后会自动刷新缓冲区,但有时需要在关闭前刷新
copy工具
f = open(‘图1.jpg‘, mode=‘rb‘) # 打开文件
content = f.read() # 读取文件
f.close() # 关闭文件
f1 = open(‘图2.jpg‘, mode=‘wb‘) # 创建并写入
f1.write(content) # 写入赋值,完成复制
f1.close() # 关闭文件
语法:with open语句, open语句:
with open(‘文件的读‘,encoding=‘utf-8‘) as f1, open(‘文件的写‘,encoding=‘utf-8‘,mode=‘w‘)as f2:
data = f1.read() # 读取
f2.write(data) # 写入
原理:
import os # 导入os模块
with open(‘文件的改‘,encoding=‘utf-8‘) as f1, open(‘文件的改.bak‘, encoding=‘utf-8‘, mode=‘w‘) as f2:
# 将原文件的内容读出来修改成新内容,写入新文件
for line in f1:
new_line = line.replace(‘SB‘, ‘alex‘)
f2.write(new_line)
os.remove(‘文件的改‘) # 将原文件删除
os.rename(‘文件的改.bak‘, ‘文件的改‘) # 将新文件重命名成原文件
原文:https://www.cnblogs.com/wzos/p/12632288.html