1. glob

def make_file_list(self, prefix) -> List[str]:
        files = list()
        for ext in self.ext_patterns:
            pattern = f"{prefix}/**/*.{ext}"
            logging.debug(f"searching for {pattern} started.")
            paths = [path for path in glob.glob(pattern, recursive=True)]
            # paths = [f"'{path}'" for path in glob.glob(pattern, recursive=True)]
            files.extend(paths)
            logging.debug(f"searching for {pattern} finished({len(paths)} files found).")
        logging.debug(f"{len(files)} files are found")
        return files

2. path

https://docs.python.org/ko/3/library/os.path.html

PurePath.**stem**

suffix가 없는, 마지막 경로 구성 요소:>>>

**>>>** PurePosixPath('my/library.tar.gz').stem 'library.tar' **>>>** PurePosixPath('my/library.tar').stem 'library' **>>>** PurePosixPath('my/library').stem 'library'

Path().unlink()

The method unlink() removes (deletes) the file path . If the path is a directory, OSError is raised.

pathlib

from pathlib import Path

path = Path("parentdirectory/mydirectory")
path.mkdir(parents=True, exist_ok=True)

Path 오브젝트의 생성·처리


컨스트럭터 pathlib.Path()

pathlib 모듈에서는 경로를 객체로써 조작한다.

컨스트럭터 pathlib.Path()로 Path 객체를 생성할 수 있다. 인수로 경로의 문자열을 지정한다. 상대경로든 절대경로든 상관없이 모두 가능하다.

import pathlib
import os
import pprint

p_file = pathlib.Path('temp/file.txt')

print(p_file)
# temp/file.txt

print(type(p_file))
# <class 'pathlib.PosixPath'>

예를 Mac에서 실행한다면, Mac을 포함한 Unix계 OS의 클래스인 PosixPath형의 인스턴스가 생성된다. 한편, Windows에서 실행한다면 WindowsPath형이 된다.