在Python中,文件和目录的操作是非常基础且常用的内容。无论是读写数据、管理文件,还是遍历目录,掌握这些知识都能让你更高效地完成各种项目。
参考文章:Python 操作文件和目录 | 简单一点学习 easyeasy.me
目录
- 文件的打开与关闭
- 文件的读写操作
- 文件的其它常用操作
- 目录的基本操作
- 遍历目录与文件
- 使用 pathlib 模块进行文件和目录操作
- 小结
1. 文件的打开与关闭
Python使用内置的open()函数打开文件。常见的模式包括读取(r)、写入(w)、追加(a)和二进制模式(b)。
# 打开一个文本文件用于读取
f = open('example.txt', 'r')
# 使用文件后,记得关闭
f.close()
推荐用法: 使用with语句自动管理文件关闭。
with open('example.txt', 'r') as f:
content = f.read()
# 文件会在with块结束时自动关闭
2. 文件的读写操作
读取文件内容
with open('example.txt', 'r') as f:
text = f.read() # 读取全部内容
print(text)
你也可以按行读取:
with open('example.txt', 'r') as f:
for line in f:
print(line.strip()) # strip去除换行符
写入文件内容
with open('output.txt', 'w') as f:
f.write("这是写入的第一行。\n")
f.write("这是写入的第二行。\n")
追加写入:
with open('output.txt', 'a') as f:
f.write("追加一行内容。\n")
3. 文件的其它常用操作
检查文件是否存在
import os
if os.path.exists('example.txt'):
print("文件存在")
else:
print("文件不存在")
删除文件
import os
os.remove('example.txt') # 删除文件
重命名文件
import os
os.rename('old_name.txt', 'new_name.txt')
4. 目录的基本操作
创建目录
import os
os.mkdir('test_dir') # 创建单层目录
如果要递归创建多层目录:
os.makedirs('parent_dir/child_dir')
删除目录
os.rmdir('test_dir') # 只能删除空目录
递归删除非空目录需用shutil模块:
import shutil
shutil.rmtree('parent_dir')
5. 遍历目录与文件
列出目录中的文件和目录
import os
files = os.listdir('.') # 列出当前目录所有文件和目录
print(files)
判断路径是文件还是目录
for f in os.listdir('.'):
if os.path.isfile(f):
print(f, "是文件")
elif os.path.isdir(f):
print(f, "是目录")
使用 os.walk 递归遍历目录
for root, dirs, files in os.walk('.'):
print("当前路径:", root)
print("目录列表:", dirs)
print("文件列表:", files)
print('---')
6. 使用 pathlib 模块进行文件和目录操作
Python3推荐使用pathlib模块,它提供面向对象的路径操作。
from pathlib import Path
# 创建Path对象
p = Path('.')
# 列出所有文件和目录
for child in p.iterdir():
print(child)
# 判断文件是否存在
if (p / 'example.txt').exists():
print("文件存在")
# 读取文件内容
file_path = p / 'example.txt'
if file_path.exists():
content = file_path.read_text()
print(content)
# 创建目录
new_dir = p / 'new_folder'
new_dir.mkdir(exist_ok=True)
# 删除文件
file_to_remove = p / 'remove_me.txt'
if file_to_remove.exists():
file_to_remove.unlink()
pathlib让路径操作更简单,更具可读性。
7. 小结
- 用
open()读写文件,配合with语句管理资源。 - 用
os模块处理文件和目录的基本操作(创建、删除、重命名、检查存在)。 - 用
os.listdir和os.walk遍历目录。 - 推荐用
pathlib模块,写出简洁优雅的路径和文件操作代码。