Pythonでファイル名を確認して特定の文字がついてなければ追加する
2022/7/1
Pythonでファイル名の頭に特定の文字がついてなければ追加する方法です。
作成した背景
仕事で誤って編集してしまうと困るマスタファイルがあったりします。それをローカルにコピーしてから、そのファイルをいじったりするのですが、ファイル名が同じためマスタなのかコピーなのか分からなくなるということが発生しました。
他にも、フォームの見本ファイルを見ながら、自分のファイルを編集しようと思ったら、同じ名前だから開けない…なんてことも発生します。
そこで思いついたのが、自分のローカルにコピーしたファイルの名前は一律頭に特定の文字を付けようということです。
イメージ
例えばローカルファイルにTest.xlsx
というファイルがあった時に、これをMyCopy---Test.xlsx
に変更します。
Pythonコード
コードはこちらです。このスクリプトファイルと同じパスのフォルダ内のファイルを対象にしています。また、拡張子で、例えばこのスクリプト自身のファイル名を変えないようにといった制御ができるようにしてます。
import glob
import os
### Basic Parameters
script_dir_path = os.getcwd()
prefix = "MyCopy---"
### Excluding extensions
def exclude(arg):
excluding_words = [".py", ".bat", ".exe", ".ps1"]
for excluding_word in excluding_words:
if excluding_word in arg:
return (True)
return (False)
files = glob.glob(script_dir_path + "/*")
for file in files:
basename = os.path.basename(file)
basename_no_ext = os.path.splitext(basename)[0]
basename_only_ext = os.path.splitext(basename)[1]
if prefix in file:
continue
if exclude(basename) == True:
continue
new_name = prefix + basename
new_full_path = os.path.join(script_dir_path, new_name)
os.rename(file, new_full_path)
Python勉強中のため、不要なコードが入っていたりしますが、そこはご容赦ください。