Python pathlib은 존재하지 않는 디렉토리를 만듭니다.
파일을 저장할 경로를 지정하고 해당 경로에 없는 디렉터리를 만들려면 한 줄의 코드에서 pathlib 라이브러리를 사용하여 이 작업을 수행할 수 있습니까?
예, 다음과 같습니다.
pathlib.Path('/tmp/sub1/sub2').mkdir(parents=True, exist_ok=True)
문서에서:
부모가 참이면 필요에 따라 이 경로의 누락된 부모가 생성됩니다. 모드를 고려하지 않고 기본 권한으로 생성됩니다(POSIX 모방).
mkdir -p
명령).부모가 거짓인 경우(기본값), 누락된 부모가 발생합니다.
FileNotFoundError
.exist_ok이 false이면(기본값),
FileExistsError
대상 디렉터리가 이미 있는 경우 상승됩니다.exist_ok이 참이면
FileExistsError
예외는 무시됩니다(POSIX와 동일한 동작).mkdir -p
마지막 경로 구성 요소가 디렉터리가 아닌 기존 파일이 아닌 경우에만 명령을 실행할 수 있습니다.
이렇게 하면 경로가 이미 존재하는 경우에 대한 추가 제어가 제공됩니다.
path = Path.cwd() / 'new' / 'hi' / 'there'
try:
path.mkdir(parents=True, exist_ok=False)
except FileExistsError:
print("Folder is already there")
else:
print("Folder was created")
윔의 답변에 추가.경로 끝에 디렉터리로 만들지 않을 파일이 있는 경우.
즉, '/existing_dll/not_existing_dll/another_dll/a_file'
그런 다음 PurePath.parents를 사용합니다.하지만 좋은 점은 Paths가 Pure Paths의 속성을 상속하기 때문에 다음과 같은 작업을 수행할 수 있다는 것입니다.
filepath = '/existing_dir/not_existing_dir/another_dir/a_file'
pathlib.Path(filepath).parents[0].mkdir(parents=True, exist_ok=True)
존재하지 않는 dirs/파일을 생성하는 범용 기능
def check_and_create_path(self, path: Path):
path_way = path.parent if path.is_file() else path
path_way.mkdir(parents=True, exist_ok=True)
if not path.exists():
path.touch()
언급URL : https://stackoverflow.com/questions/50110800/python-pathlib-make-directories-if-they-don-t-exist
'programing' 카테고리의 다른 글
Oracle SQL에서: 현재 날짜와 시간을 표에 어떻게 삽입합니까? (0) | 2023.06.13 |
---|---|
Oracle에서 현재까지의 문자열(밀리초) (0) | 2023.06.13 |
R을 사용하여 그래프를 .eps 파일로 내보내기 (0) | 2023.06.13 |
루비에서 a와 b 사이에 난수를 생성하는 방법은? (0) | 2023.06.13 |
"razor" 파일과 "cshtml" 파일의 차이점은 무엇입니까? (0) | 2023.06.13 |