目录
语法
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)
将文件或目录 src 重命名为 dst。如果 dst 已存在,则下列情况下将会操作失败,并抛出 OSError 的子类:
在 Windows 上,如果 dst 已存在,则抛出 FileExistsError 异常。
在 Unix 上,如果 src 是文件而 dst 是目录,将抛出 IsADirectoryError 异常,反之则抛出 NotADirectoryError 异常。如果两者都是目录且 dst 为空,则 dst 将被静默替换。如果 dst 是非空目录,则抛出 OSError 异常。如果两者都是文件,则在用户具有权限的情况下,将对 dst 进行静默替换。如果 src 和 dst 在不同的文件系统上,则本操作在某些 Unix 分支上可能会失败。如果成功,重命名操作将是一个原子操作(这是 POSIX 的要求)。
本函数支持将 src_dir_fd 和 dst_dir_fd 中的一个或两个指定为 基于目录描述符的相对路径。
如果 dir_fd 不是 None,它就应该是一个指向目录的文件描述符,这时待操作的 path 应该是相对路径,相对路径是相对于前述目录的。如果 path 是绝对路径,则 dir_fd 将被忽略。(Windows平台当前不支持后两个参数)
如果需要在不同平台上都能替换目标,请使用 replace()。
引发一个 审计事件 os.rename 附带参数 src、dst、src_dir_fd、dst_dir_fd。
3.3 新版功能: src_dir_fd 和 dst_dir_fd 参数。
在 3.6 版更改: 接受一个 类路径对象 作为 src 和 dst。
实例
import os
os.chdir(os.getcwd() + '/图片') # 切换当前工作目录
print(os.listdir()) # 返回文件夹中的文件名称
os.rename('rename_demo.py', 'rename_demo1.py') # 名称更改,特别提醒在Windows系统下,src_dir_fd和dst_dir_fd参数不可以使用
print(os.listdir())
运行结果:
意思也就是该平台无法使用src_dir_fd和dst_dir_fd参数。
参考文献
[1] os --- 多种操作系统接口 — Python 3.9.7 文档
我是chandni,关注我,不迷路!