我正在使用Windows 10和Winpython。我有一个扩展名为.dwt的文件(它是一个文本文件)。我想将此文件的扩展名更改为.txt。
我的代码不会引发任何错误,但是不会更改扩展名。
from pathlib import Path
filename = Path("E:\\seaborn_plot\\x.dwt")
print(filename)
filename_replace_ext = filename.with_suffix('.txt')
print(filename_replace_ext)
预期的结果会在winpython的ipython窗口输出中打印出来(如下所示):
E:\ seaborn_plot \ x.dwt
E:\ seaborn_plot \ x.txt
但是当我寻找具有重命名扩展名的文件时,扩展名没有更改,只有原始文件存在。我怀疑Windows文件权限。
答案 0 :(得分:1)
您实际上必须重命名文件,而不仅仅是打印出新名称。
from pathlib import Path
import os
filename = Path("E:\\seaborn_plot\\x.dwt")
print(filename)
filename_replace_ext = filename.with_suffix('.txt')
print(filename_replace_ext)
os.rename(filename, filename_replace_ext)
答案 1 :(得分:0)
从文档中
Path.rename(target)
将此文件或目录重命名为给定的 target 。在Unix上,如果 target 存在并且是文件,则在用户具有权限的情况下将以静默方式替换它。 target 可以是字符串,也可以是其他路径对象。
pathlib
— Object-oriented filesystem paths on docs.python.org
您可以这样使用它:
from pathlib import Path
filename = Path("E:\\seaborn_plot\\x.dwt")
filename_replace_ext = filename.with_suffix(".txt")
filename.rename(filename_replace_ext)