web-dev-qa-db-ja.com

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のipythonウィンドウ出力に出力されます。

E:\ seaborn_plot\x.dwt

E:\ seaborn_plot\x.txt

名前を変更した拡張子を持つファイルを探しても、拡張子は変更されておらず、元のファイルしか存在しません。 Windowsファイルのアクセス許可が疑われます。

7
user3398600

ドキュメントから:

Path.rename(target)

このファイルまたはディレクトリの名前を指定されたtargetに変更します。 Unixでは、targetが存在し、それがファイルである場合、ユーザーが権限を持っている場合、それは警告なしに置き換えられます。 targetは、文字列または別のパスオブジェクトのいずれかです。

pathlib — 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)
0