目录
文件操作的流程
-
打开文件
f = open(r'文件路径', 'w', encoding='字符编码')
-
读取/修改文件
f.write('写入')
-
保存文件
f.flush()
# 快速保存 -
关闭文件
f.close()
# 告诉操作系统关闭文件
文件的三种打开模式
读取: rt read_text 针对文本内容只读
f = open(r'C:UsersBlackDocumentsPython learning文件操作', 'rt', encoding='utf-8')
data = f.read()
print(data)
print(f.readable) # True
print(f.writable) # False
print(f.readline()) # 读取一行, 光标移动一行
print(f.readlines()) # 读取所有行,生成列表(包括换行
)
# 循环读取一个个字符
for i in f.read():
print(i)
# 循环读取一行行
for i in f:
print(i)
清空写入: wt write_text 针对文本内容只写
# 使用'w'模式在打开时候就会清空文件
f = open(r'C:UsersBlackDocumentsPython learning文件操作', 'wt', encoding='utf-8')
print(f.readable()) # False
print(f.writable()) # True
f.write('写入')
# 自动拼接列表元素
f.writeliens(['第一行
', '第二行
','第三行'])
追加写入: at append_text 针对文本内容只写
# 使用'a'模式打开时候光标会默认移动到文件尾
f = open(r'C:UsersBlackDocumentsPython learning文件操作', 'at', encoding='utf-8')
print(f.readable()) # False
print(f.writable()) # True
f.write('追加写入')
PS: 'w'和'a'模式可以自动创建文件
文件的两种形式
文本形式: t
用于文本文件的处理
二进制形式: b
一般用于图片/音频/视频的保存(和r/w/a联用, 不需要encoding)
文件路径
绝对路径
就是文件的详细路径地址, 从盘符开始: C:UsersBlackDocumentsPython learning文件操作
相对路径
当前运行文件(C:UsersBlackDocumentsPython learning est.py'
)的文件夹下的文件名 文件操作
with open打开文件
# with为我们提供了自动关闭文件的功能
with open(r''C:UsersBlackDocumentsPython learning文件操作, 'wt',encoding='utf-8') as f:
# 在此缩进下文件不会关闭
f.write('清空写入')
print('写入完成') # 当缩进结束文件关闭
可读可写模式(补充)
r+ : 即可读又可写, 光标在文本头部, 写入的话会覆盖后面的字符
w+: 即可读又可写, 会先清空文件内容
a+ : 即可读又可写, 光标在文档尾部, 读取的话会读不到内容
控制光标
with open(r''C:UsersBlackDocumentsPython learning文件操作, 'rt',encoding='utf-8') as f:
# 3表示读取的字符数量
print(f.read(3))
'''
3表示移动三个字节, 0表示光标的起始位置是头部(1表示当前位置,2表示文本尾部),
所以这行代码就表示从文档头部, 将光标向后移动三个字节
'''
f.seek(3, 0)
# .tell()方法可以显示当前光标的位置
print(f.tell())
# .truncate()截断方法, 3表示光标向后移动三个字节,光标后的内容全部删除
f.truncate(3)