開発環境
詳細
以下のコードで指定したディレクトリ内のwavファイルのパスを一覧にしたテキストファイルが出力されます
# 指定したディレクトリ内のすべてのファイルのパスを再帰的に取得し、txtファイルに保存するスクリプト import os import sys def get_file_paths(directory): file_paths = [] for root, directories, files in os.walk(directory): for filename in files: if filename.endswith(".wav"): filepath = os.path.join(root, filename) file_paths.append(filepath) return file_paths def save_file_paths_to_txt(file_paths, output_file): with open(output_file, 'w', encoding='utf-8') as file: for path in file_paths: file.write(path + '\n') print(f"File paths saved to {output_file}") if __name__ == "__main__": if len(sys.argv) < 2: print("Please provide the directory path as a command-line argument.") sys.exit(1) directory = sys.argv[1] # コマンドライン引数から検索対象のディレクトリを取得 output_file = "file_paths.txt" # 出力するテキストファイル名を指定 file_paths = get_file_paths(directory) save_file_paths_to_txt(file_paths, output_file)
出力は以下のようになります
jvs\jvs001\falset10\wav24kHz16bit\jvs001_falset10_jvs001_falset10_BASIC5000_0235.wav jvs\jvs001\falset10\wav24kHz16bit\jvs001_falset10_jvs001_falset10_BASIC5000_0408.wav jvs\jvs001\falset10\wav24kHz16bit\jvs001_falset10_jvs001_falset10_BASIC5000_1140.wav jvs\jvs001\falset10\wav24kHz16bit\jvs001_falset10_jvs001_falset10_BASIC5000_1356.wav