(目录
语法
os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
将文件或目录 src 重命名为 dst。如果 dst 是目录,将抛出 OSError 异常。如果 dst 已存在且为文件,则在用户具有权限的情况下,将对其进行静默替换。如果 src 和 dst 在不同的文件系统上,本操作可能会失败。如果成功,重命名操作将是一个原子操作(这是 POSIX 的要求)。
本函数支持将 src_dir_fd 和 dst_dir_fd 中的一个或两个指定为 基于目录描述符的相对路径。在Windows系统下不可使用。
引发一个 审计事件 os.rename 附带参数 src、dst、src_dir_fd、dst_dir_fd。
3.3 新版功能.
在 3.6 版更改: 接受一个 类路径对象 作为 src 和 dst。
实例
正常的重命名没什么好说的,我们来解释一下若 dst 已存在且为文件,则在用户具有权限的情况下,将对其进行静默替换,什么意思?
import os
print(os.listdir('replace_1/replace_2')) # 返回文件名称列表
os.replace('replace_1/replace_2/replace_3.py','replace_1/replace_2/rename.py') # 文件名重命名
print(os.listdir('replace_1/replace_2')) # 返回文件名称列表
原始文件架构:
输出结果:
我们再来看一下现在的rename.py文件中的内容是否不为空了。
可以看出来rename.py文件中的内容被replace_3.py中的内容替换了,这也就是静默替换的含义。
参考文献
[1] os --- 多种操作系统接口 — Python 3.9.7 文档
我是chandni,关注我,不迷路!