Python 特定の末尾名のフォルダに対して処理する方法「glob」と「*」を利用

 # '20/03/22更新…コードを見易く刷新しました。
 本記事では下図のように複数のフォルダがある中で、例えば、フォルダ名の末尾が「*002」に対してのみ処理をしたい場合についての雛形コードです。

f:id:HK29:20200322151530p:plain

 下図は本プログラム実行結果です。ファイル名「*002」だけ、ファイルがカレントディレクトリへ出力されています。これはフォルダ名「*002」内だけ処理された結果です。

f:id:HK29:20200322151601p:plain

▼本プログラム

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import glob, os, shutil
import pandas as pd

def main():
# ターゲットフォルダ内のターゲットファイルをリストで取得する file_path_list = glob.glob(os.path.join(specific_dirname, target_file)) print('file_path_list ->' + str(file_path_list)) for file_path in file_path_list: # ファイルパスから、ディレクトリ名とファイル名をアンパック代入 dir_name, file_name = os.path.split(file_path) new_file_name = dir_name + '_' + file_name # カレントディレクトリへコピー shutil.copy2(file_path, new_file_name) if __name__ == '__main__': specific_dirname = '*002' target_file = '*.txt' main()

以上

<広告>