ディレクトリ内のファイルから対象の一覧を作成し、仕分ける †機械学習で使うデータを用意するときなどのために書きました。 import sys # システム関連標準モジュール # import os # OS関連標準モジュール # import glob # パターン検索用モジュール # import random # 乱数生成用モジュール # import shutil # ファイルコピー用 # import errno # エラー番号関連のため # # # args = sys.argv # 引数取得 # # # try: # 例外処理のため # os.makedirs( "./test" ) # カレントにtestディレクトリを作成 # os.makedirs( "./train" ) # カレントにtrainディレクトリを作成 # os.makedirs( "./valid" ) # カレントにvalidディレクトリを作成 # except OSError as e: # OSエラーを検知 # if e.errno != errno.EEXIST: # ディレクトリが既に存在している以外の場合 # raise e # 処理中止 # # # fileList = glob.glob( "./*.mid*" ) # 対象となるファイルのリストを取得 # # # for file in fileList: # ファイルリストの各ファイルについて # randNum = random.randint( 0, 11 ) # 指定範囲の乱数を生成 # if 0 == randNum: # 一定の確率で # shutil.copy( file, "./test" ) # testディレクトリにファイルコピー # elif 1 == randNum: # 一定の確率で # shutil.copy( file, "./valid" ) # validディレクトリにファイルコピー # else: # 一定の確率で # shutil.copy( file, "./train" ) # trainディレクトリにファイルコピー # # # sys.exit() # 処理終了 # |