文件操作
什么是文件?
文件就是操作系统暴露给用户操作硬盘的快捷方式(接口)
代码如何caozuo文件?
关键字 open()
三步走:
1、利用关键字打开文件
2、利用其它方法操作文件
3、关闭文件
"""
文件路径
相对路径与绝对路径
路径中出现了字母与斜杠的组合产生了特殊含义如何取消
在路径字符串前面加一个r
r'D:\py20\day08\a.txt'
"""
open ('b.txt') >>>打开文件
open(r'D:\py\old.txt') >>>绝对路径
res = open('a.txt','r',encoding='utf8')
print(res.read())
res.clsoe() >>>关闭文件释放资源
格式: open(文件路径,读写模式,字符编码)
文件路径与读写模式是必须的
字符编码是可选的(有些模式需要编码)
with上下文管理(自动close文件)
with open(r'a.txt','r',encoding='utf8') as f1: # f1=open() f1.close()
print(f1.read()) >>>读取文件内所有的内容
"""代码操作文件 推荐使用with语法"""
文件 du xie 模式
r:只读模式(只能看不能改)
路径不存在的话,直接报错
with open(r'b.txt,'r',encoding='utf8') as f:
print(f.read()) >>>读取文件内所有的内容
w:只写模式(只能写不能看)
路径不存在的话,会自动创建
with open(r'b.txt', 'w', encoding='utf8') as f:
路径存在:1.会先清空文件内容 2.再执行写入操作
with open(r'a.txt', 'w', encoding='utf8') as f:
>>> f.read()
f.write('hello world!\n')
f.write('hello world!\n')
f.write('hello world!\n')
a 只追加模式(追加内容)
a模式 只追加模式
路径不存在:自动创建
with open(r'a.txt','a',encoding='utf8') as f:
pass
路径存在:不会清空文件 在文件末尾添加内容
文件 cao zuo 优化
with open(r'a.txt', 'r', encoding='utf8') as f:
# print(f.read()) # 一次性读取文件内所有的内容
# print(f.read()) # 一次性读取文件内所有的内容
# print(f.read()) # 一次性读取文件内所有的内容
"""
1.一次性读完之后 光标停留在了文件末尾 无法再次读取内容
2.该方法在读取大文件的时候 可能会造成内存溢出的情况
解决上述问题的策略就是逐行读取文件内容
"""
# for line in f: # 文件变量名f支持for循环 相当于一行行读取文件内容
# line
'''以后涉及到多行文件内容的情况一般都是采用for循环读取'''
常见文件操作方法:
read() # 一次性读取文本内容(当文件内容特别大的时候容易造成内存出)
readline() # 一次性读取文件一行内容
readlines() # 也是一次性读取文件内容 组织成列表返回 每个元素是行
readable() # 是否具备可读的能力
write() # 写入内容
writelines() # 循环写入容器内每个元素
writeable() # 是否具备可写的能力
flush() # 立刻将文件数据刷新到硬盘(人为ctrl+s)