如何解决这种行为的解释是什么?
from pathlib import Path
file = Path(r"C:\Users\SerT\Desktop\a.txt")
print (file.name)
file.rename(file.with_name("b.txt"))
print (file.name)
我想知道为什么 file.name 在这两种情况下都打印出“a.txt”,即使该文件实际上在 Windows 资源管理器中重命名了
解决方法
.rename
不修改文件对象,而是简单地返回新的文件路径。如果要重命名文件,可以将 file 设置为 file.rename
方法:
import os
from pathlib import Path
file = Path(r"C:\Users\SerT\Desktop\a.txt")
print (file.name)
file = file.rename(file.with_name("b.txt"))
print(file.name)
,
文件正在重命名,但原始 Path
对象(在您的情况下为 file
)本身并未更改。
由于 Path.rename()
返回一个新的 Path 对象,要获得您期望的结果,请执行以下操作:
file = file.rename(file.with_name("b.txt"))
print(file.name)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。