📖 读取文件
基本读取
with open("file.txt", "r") as file:
content = file.readlines()
print(content)
逐行读取
with open("file.txt", "r") as file:
for line in file:
print(line.strip())
指定编码读取
with open("file.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
✏️ 写入文件
# 写入模式(覆盖)
with open("file.txt", "w", encoding="utf-8") as file:
file.write("Hello, World!")
# 追加模式
with open("file.txt", "a") as file:
file.write("Hello, World!")
🗑️ 删除文件
import os
os.remove("file.txt")
🔍 检测文件编码
import chardet
with open('filename', 'rb') as f:
content = f.read()
result = chardet.detect(content)
encoding = result['encoding']
confidence = result['confidence']
print(f'文件编码格式为 {encoding}, 可信度为 {confidence:.2f}')
content = content.decode(encoding)
print(content)
📂 文件路径处理
import os
path = "./file.txt"
print(os.path.dirname(path)) # 目录名
print(os.path.basename(path)) # 文件名
🔎 检查文件状态
import os
path = "/path/to/file.txt"
print(os.path.exists(path)) # 是否存在
print(os.path.isfile(path)) # 是否是文件
print(os.path.isdir(path)) # 是否是目录
📋 文件操作
文件拷贝
import shutil
shutil.copyfile("source.txt", "destination.txt")
文件移动
import shutil
shutil.move("source.txt", "destination.txt")
重命名文件
import os
os.rename("old.txt", "new.txt")
查找文件
import glob
files = glob.glob("*.py")
print(files)
🗃️ 临时文件系统
创建临时文件
import tempfile
file = tempfile.TemporaryFile()
print(file.name)
# C:\Users\ADMINI~1\AppData\Local\Temp\tmpqefysklb
创建临时文件夹
import tempfile
dir = tempfile.TemporaryDirectory()
print(dir)
读写临时文件
import tempfile
file = tempfile.TemporaryFile()
file.write(b'Hello World!')
file.seek(0)
print(file.read()) # b'Hello World!'
file.close()
🛤️ Pathlib处理路径
from pathlib import Path
dir_path = Path("/home/user/documents")
files = list(dir_path.glob("*.txt"))
Path.cwd() # 当前工作目录
Path.home() # 用户主目录