기계는 거짓말하지 않는다

Python 디렉터리 내 파일 경로 텍스트 저장 본문

Python

Python 디렉터리 내 파일 경로 텍스트 저장

KillinTime 2022. 10. 30. 15:43

디렉터리 내의 파일들의 경로를 텍스트 파일로 저장한다.

특정 확장자만 제한하려면 argparser로 넘겨준다.

 

argparser 명령어 예시

image_files 디렉터리 내의 png, jpg, jpeg 확장자를 가진 파일들의 경로를 file_list.txt 텍스트 파일로 저장

python file_path_list_to_text.py -p ./image_files -t file_list.txt -e png jpg jpeg
import glob
import argparse
import os

def parse_opt():
    parser = argparse.ArgumentParser()
    parser.add_argument('-p', '--path', default=".", help="data path")
    parser.add_argument('-t', '--text', default="n_train.txt", help="data list text file name")
    parser.add_argument('-e', '--ext', nargs='+', default=["*"], type=str, help="file extension list")

    opt = parser.parse_args()
    return opt

def file_path_save(opt):
    dir_abs_path = os.path.abspath(opt.path).replace("\\", "/")
    ext_list = opt.ext
    file_path_list = []
    
    for ext in ext_list:
        file_path_list.extend(sorted(glob.glob(os.path.join(dir_abs_path, "*." + ext))))

    with open(opt.text, 'w', encoding='utf-8') as f:
        for file_path in file_path_list:
            f.write(file_path + "\n")

if __name__ == '__main__':
    opt = parse_opt()
    file_path_save(opt)
Comments