该示例将演示 os 模块的简单用法,使用 os 模块重命名和删除文件,以及当文件不存在时异常处理避免程序崩溃。
注意,该示例使用了 Python 内置的 os 模块,无需额外安装依赖。
示例代码:
import os
def rename_file(old_name: str, new_name: str):
"""
重命名文件
:param old_name: 原文件名(含路径,可选)
:param new_name: 新文件名(含路径,可选)
"""
try:
# 检查原文件是否存在
if os.path.exists(old_name):
os.rename(old_name, new_name)
print(f"重命名成功:{old_name} -> {new_name}")
else:
print(f"错误:文件 {old_name} 不存在")
except Exception as e:
print(f"重命名失败:{str(e)}")
def delete_file(file_name: str):
"""
删除文件
:param file_name: 要删除的文件名(含路径,可选)
"""
try:
# 检查文件是否存在且是文件(不是文件夹)
if os.path.isfile(file_name):
os.remove(file_name)
print(f"删除成功:{file_name}")
else:
print(f"错误:{file_name} 不是文件或不存在")
except Exception as e:
print(f"删除失败:{str(e)}")
if __name__ == "__main__":
# 1. 先创建一个测试文件,方便演示无需手动创建
test_file = "test.txt"
with open(test_file, "w", encoding="utf-8") as f:
f.write("这是一个测试文件")
print(f"已创建测试文件:{test_file}")
# 2. 重命名文件:test.txt → new_test.txt
rename_file("test.txt", "new_test.txt")
# 3. 删除重命名后的文件
delete_file("new_test.txt")
# 4. 测试删除不存在的文件
delete_file("new_test.txt")运行结果:
已创建测试文件:test.txt
重命名成功:test.txt -> new_test.txt
删除成功:new_test.txt
错误:new_test.txt 不是文件或不存在示例中使用的函数说明:
(1)os.rename(旧文件名, 新文件名) 该函数用于重命名文件 / 文件夹。
注意:如果新文件名已存在,Windows 会报错,Linux/Mac 会直接覆盖,建议先判断文件是否存在。
(2)os.remove(文件名) 该函数用于删除文件(不能删除文件夹,删除文件夹用 os.rmdir())。
注意:只能删除文件,删除不存在的文件会抛出异常,必须做异常处理。
(3)os.path.exists(路径) 用于判断文件 / 文件夹是否存在
(4)os.path.isfile(路径) 用于判断是否为文件(区分文件和文件夹)
注意,关于 os 模块更多知识将在后续章节详细介绍。