如果另一个文件已经存在,是否可以强制重命名 os.rename 来覆盖另一个文件?例如,在下面的代码中,如果文件 Tests.csv 已存在,它将被 Tests.txt 文件替换(也已重命名为 Tests.csv)。
os.rename("C:\Users\Test.txt","C:\Users\Tests.csv");
从Python 3.3开始,现在有了一个标准的跨平台解决方案,os.replace:
重命名
文件或目录 src 到 dst。如果 dst 是一个目录,OSError
将
上调。如果 dst 存在并且是一个文件,则它将被静默替换,如果
用户有权限。如果 src 和 dst 打开,操作可能会失败
不同的文件系统。如果成功,重命名将是原子的
操作(这是 POSIX 要求)。
可用性:Unix、Windows。
3.3 版本中的新功能。
然而,与文档相反,在 Windows 上它不能保证是原子的(在 Python 3.4.4 中)。那是因为内部它用MoveFileEx在 Windows 上,它不提供这样的保证。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)