LoginSignup
1
0

More than 1 year has passed since last update.

ファイル拡張子を一括変換するPythonプログラム

Last updated at Posted at 2022-02-09

はじめに

あるフォルダー以下の全ファイルの拡張子を一括変換する方法が知りたく、
いくつかの別記事も参考にしながらPythonで作成してみました。
自分の備忘として残します。

前提

現在、フォルダー「pikapika」の下に「d202202」というフォルダーがあり、
その配下に20220201,20220202,20220203の3つのファイルが存在しています。

VisualStudieCode内で見ると

※「Qiita共有用.py」は実際のコードを記述するファイルです。
image.png

通常のエクスプローラから見ると

image.png

今回はこの3つのファイルを「テキストファイル」(拡張子は.txt)に
一括変換していきます。

実際のコード

#今回使用するpathlibライブラリをインポート
from pathlib import Path

#変換したいファイルが含まれるフォルダーを指定
folder = 'pikapika/d202202'

#変数folder以下にあるすべてのファイルの拡張子を.txtへ変更
for f in Path(folder).rglob('*'):
    f.rename(folder + f.stem + '.txt')

実行後

VisualStudieCode内で見ると

image.png

通常のエクスプローラから見ると

image.png

うーん。。なぜか元々いたフォルダー「d202202」と並列の位置に変換後のファイルが用意されている…

ちなみに元々変換前のファイルが存在していた「d202202」以下は、空っぽになってしまいました。
可能であれば、変換後のファイルも元々の場所に展開されてほしかったのですが・・・
image.png

今後は、変換後のファイルの展開先指定が可能かどうかも調べてみます。
(今回は目的通り拡張子の一括変換ができたため、いったんは良しとします)

補足

今回変換したかったのは、フォルダー「d202202」以下の「すべてのファイル」であったため、rglob('*')としています。
そのため例えば、あるフォルダー以下の「テキストファイル」(拡張子.txt)を別の拡張子ファイルへと一括変更したい場合は、rglob('.txt')と記述すればOKです。

参考

「拡張子一括変換」https://qiita.com/int_main_void/items/a241eebd3e440ca4fdfe
「Pythonでファイル拡張子を一気に変換(os & pathlib)」https://note.com/tomtom_0301/n/nc1a54a632132

余談

初めてのQiita投稿。間違っている部分やあまり宜しくない表記があった場合は、ご指摘いただけると有難いです。
QiitaのMarkdown記法、初心者には難しいですが便利で面白いですね~
参考:「Markdown記法 チートシート」https://qiita.com/Qiita/items/c686397e4a0f4f11683d

1
0
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0