見出し画像

pythonでフォルダ名変更

今回はただの備忘録です。pythonを使ってファイル名とかフォルダ名を変更させるときに参考まで。

(背景)ついにフォルダ名変更すら面倒に感じてきた

普段特定作業を行った後、定期的に該当のフォルダを一定規則で改名しています。複数あるので右クリック→名前の変更すら億劫に感じてきました。怠惰の極みです。たぶんこれらはOSのシェルとか叩いたほうが早いかもですが、せっかくなのでpythonの出番。

(作ったもの)特定フォルダに特定文字を付与

コマンドプロンプトやターミナルに当該フォルダをドラックドロップして、シンプルに「DONE_」と先頭に付与させるだけの単純なものです。

(参考)

こちらにほぼ全て記載されていることです。

(完成品)

# coding: UTF-8
#!/usr/bin/python3

import os

while True:
   target_dir_full = input('Enter target direction or Press n to end:').replace('"','').strip()
   if target_dir_full == 'n':break
   elif os.path.exists(target_dir_full):
       target_dir_last = os.path.basename(target_dir_full)
       changed_dir_full = os.path.dirname(target_dir_full) + os.path.sep + 'DONE_' + target_dir_last
       os.rename(target_dir_full, changed_dir_full) 
       print('>>>>> Rename accomplished.')
   else:
       print('>>>>> No directory detected. Try again.')
   

ドラックドロップでディレクトリパスが入力されるので、パスを入れていき処理を行う、「n」キーを入力するまでループ。パスにつく「”」は削除。

os.path.basenameでその最下層のディレクトリ名を、os.path.dirnameで親ディレクトリを取得。それら使ってos.renameで名前変えるだけ。

せいぜいmacとwinでディレクトリの区切り文字が違うので(スラッシュかバックスラッシュか)、 os.path.sep を使うくらいです。もっと簡単にできる方法もあるかもしれない。

(まとめ)アウトプットと省エネ主義は続く

こんな単純でpython使うまでもないことですが、基本的に「単調作業を繰り返すこと」と「知っている風で終わること」のが好きではないので、これからも共有していきます。



この記事が気に入ったらサポートをしてみませんか?