共计 967 个字符,预计需要花费 3 分钟才能阅读完成。
在进行文件管理时,除了读取和写入文件,我们还经常需要删除、复制或移动文件。这些操作主要通过 os 模块和 shutil 模块来完成。
- 删除文件
使用os.remove()可以删除指定文件:
import os
if os.path.exists("old_file.txt"):
os.remove("old_file.txt")
print(" 文件已删除 ")
else:
print(" 文件不存在 ")
这里先检查文件是否存在,避免报错。
- 删除空目录
os.rmdir("empty_folder")
注意:os.rmdir() 只能删除空目录,否则会报错。
- 删除非空目录
import shutil
shutil.rmtree("myfolder")
shutil.rmtree() 可以删除整个目录,包括目录下的所有文件和子目录,要小心使用。
- 复制文件
import shutil
shutil.copy("data.txt", "backup.txt") # 复制并改名
shutil.copy("data.txt", "backup_folder/") # 复制到目录
shutil.copy() 可以复制文件,保留文件内容但不一定保留元数据。
- 复制目录
shutil.copytree("myfolder", "backup_folder")
copytree() 会递归复制整个目录及内容。
- 移动文件或目录
shutil.move("data.txt", "archive/data.txt") # 移动文件
shutil.move("myfolder", "archive/") # 移动目录
如果目标路径存在文件或目录,shutil.move() 会覆盖它。
- 重命名文件或目录
实际上,重命名操作也是移动的一种:
os.rename("old_name.txt", "new_name.txt")
这会将文件名从 old_name.txt 改为 new_name.txt。
总结:
本节学习了 Python 中文件和目录的删除、复制、移动与重命名操作。os 模块主要适合简单删除和重命名,而 shutil 模块功能更强大,能够处理复杂的目录复制与移动。
练习与思考:
- 写一个程序,将当前目录下的所有
.log文件移动到logs文件夹中。 - 编写一个自动备份脚本,把某个文件夹复制到
backup文件夹中。 - 实现一个安全删除函数,删除前先判断文件是否存在,并输出提示信息。
正文完