一、基本的文件处理
# a.什么是文件: 操作系统提供给用户的虚拟单位
# a.文件有什么用: 存储数据
# c.打开文件的流程
# 1. 找到文件的路径
path = r'D:\上海Python11期视频\python11期视频\day 09\test.py'
# 2.双击打开
f = open(path, 'r')
# 3.查看文件
data = f.read()
print(data)
# 4.写文件
f = open(path, 'w')
f.write('nick handsome')
# 5.关闭文件
f.close()
二、文件的高级应用
# r/w/a
# # 即可读又可写(尽量不要使用) # r+ 是在后面追加
with open('test.py', 'r+', encoding='utf8') as fr:
data = fr.read()
print(fr.writable())
fr.write('x = 10')
print(data)
# # 清空文件的功能是w提供的, w+更不要使用
with open('test.py', 'w+', encoding='utf8') as fr:
print(fr.readable())
fr.write('x = 10')
data = fr.read()
print(data)
# a有追加的功能,a的指针在末尾,a+功能也没用
with open('test.py', 'a+', encoding='utf8') as fr:
fr.seek(1, 0)
data = fr.read() # 指针在末尾
print(data)
fr.write('x = 10')
fr.flush()
# seek()、tell()、read()、truncate() 只需了解
三、文件修改的两种方式
# 文件没有修改这一说,只有覆盖这一说
import os
# 一次性修改全部
with open('test.py', 'r', encoding='utf-8') as fr,\
open('test_swap.py', 'w', encoding='utf-8') as fw:
data = fr.read()
data = data.replace('sb', 'dsb')
fw.write(data)
os.remove('test.py') # 删除文件
os.rename('test_swao.py', 'test.py') # 重命名文件
# 一边读一边改
with open('test.py', 'r', encoding='utf-8') as fr,\
open('test_swap.py', 'w', encoding='utf-8') as fw:
for line in fr:
line = line.replace('sb', 'dsb')
fw.write(f'{line}\n')
os.remove('test.py') # 删除文件
os.rename('test_swap.py', 'test.py') # 重命名文件