使用 pathlib 重命名文件扩展名 (python 3)
Renaming file extension using pathlib (python 3)
我正在使用 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的ipythonwindow输出中打印出预期结果(如下图):
E:\seaborn_plot\x.dwt
E:\seaborn_plot\x.txt
但是当我查找具有重命名扩展名的文件时,扩展名并没有改变,只有原始文件存在。我怀疑 windows 文件权限。
您必须实际重命名文件,而不仅仅是打印出新名称。
-
from pathlib import Path
my_file = Path("E:\seaborn_plot\x.dwt")
my_file.rename(my_file.with_suffix('.txt'))
注意:要替换存在的目标,请使用 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)
参考:
来自文档:
<a href="https://docs.python.org/3/library/pathlib.html#pathlib.Path.rename" rel="noreferrer">Path.rename(<i>target</i>)</a>
Rename this file or directory to the given target. On Unix, if target exists and is a file, it will be replaced silently if the user has permission. target can be either a string or another path object.
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)
我正在使用 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的ipythonwindow输出中打印出预期结果(如下图):
E:\seaborn_plot\x.dwt
E:\seaborn_plot\x.txt
但是当我查找具有重命名扩展名的文件时,扩展名并没有改变,只有原始文件存在。我怀疑 windows 文件权限。
您必须实际重命名文件,而不仅仅是打印出新名称。
-
from pathlib import Path my_file = Path("E:\seaborn_plot\x.dwt") my_file.rename(my_file.with_suffix('.txt'))
注意:要替换存在的目标,请使用 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)
参考:
来自文档:
<a href="https://docs.python.org/3/library/pathlib.html#pathlib.Path.rename" rel="noreferrer">Path.rename(<i>target</i>)</a>
Rename this file or directory to the given target. On Unix, if target exists and is a file, it will be replaced silently if the user has permission. target can be either a string or another path object.
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)