Pythonでディレクトリ内のファイル名を一括更新(1)

何もPythonでやらなくてもできるのですが、そこは流行のPythonでやってみようというのも人情です。OSがLinuxであることを想定してコードを書いていきます。

Pythonの標準ライブラリの"pathlib"を使用するとあまり考えなくてもできます。まず、ライブラリpathlibからPathをインポートします。

from pathlib import Path

変数(ここではfolder)に一覧を取得するファイルパス(ここでは/home/mypc/pythontest/)を代入します。もちろん、Windowsでも可能です。

folder=Path('/home/mypc/pythontest/')

なお、Pythonではwindowsでもディレクトリの区切りに'/'を使います。これで、変数folderの中に/home/mypc/pythontest/下にあるファイルやディレクトリが格納されます。

files=list(folder.iterdir())
print(files[0:])

folderの中身はiterdir()を使ってlistしたものを変数filesに代入します。リスト形式で代入されるので、表示させたいときはリストの最初からすべてという意味で files[0:] をprint文の引数に入れてやればOK。

ただ、これだとすべてのディレクトリをリストしてしまいます。例えば、複数あるテキストファイルだけのファイル名を更新したいときにはフィルターをかける必要があります。そのためにはPython標準のglobモジュールを使いますがこれは次回。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です