use*_*600 25 python windows pathlib
我正在使用 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)
Run Code Online (Sandbox Code Playgroud)
在winpython的ipython窗口输出中打印出预期的结果(如下图):
E:\seaborn_plot\x.dwt
E:\seaborn_plot\x.txt
但是当我寻找一个扩展名重命名的文件时,扩展名没有改变,只有原始文件存在。我怀疑 Windows 文件权限。
Bit*_*han 36
您必须实际重命名文件,而不仅仅是打印出新名称。
from pathlib import Path
my_file = Path("E:\\seaborn_plot\\x.dwt")
my_file.rename(my_file.with_suffix('.txt'))
Run Code Online (Sandbox Code Playgroud)
注意:要替换存在的目标,请使用Path.replace()
import os
my_file = 'E:\\seaborn_plot\\x.dwt'
new_ext = '.txt'
# Gets my_file minus the extension
name_without_ext = os.path.splitext(my_file)[0]
os.rename(my_file, name_without_ext + new_ext)
Run Code Online (Sandbox Code Playgroud)
参考:
小智 11
来自文档:
\n\n\n\n\n\n\n
Path.rename(target)将此文件或目录重命名为给定的目标。在 Unix 上,如果目标存在并且是一个文件,如果用户有权限,它将被静默替换。target可以是字符串或另一个路径对象。
\n\n \n
你可以这样使用它:
\n\nfrom pathlib import Path\n\n\nfilename = Path("E:\\\\seaborn_plot\\\\x.dwt")\nfilename_replace_ext = filename.with_suffix(".txt")\nfilename.rename(filename_replace_ext)\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
25855 次 |
| 最近记录: |