Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

후레임의 프로그래밍

파일이 예외없이 존재하는지 어떻게 확인합니까? 본문

스택오버플로우(Stack Overflow)

파일이 예외없이 존재하는지 어떻게 확인합니까?

후레임 2020. 10. 26. 13:25
질문

 

<코드를 사용하지 않고 파일의 존재 여부를 어떻게 확인합니까? >try문?





답변

확인하는 이유가 if file_exists : open_it ()와 같은 작업을 수행 할 수 있기 때문이라면 파일을 열려고 할 때 try를 사용하는 것이 더 안전합니다. . 확인한 다음 열면 파일이 삭제되거나 이동 될 위험이 있습니다. 확인한 시점과 열려고하는 시점 사이에 어떤 위험이 있습니다.

파일을 즉시 열 계획이 아니라면 os.path.isfile

경로가 기존 일반 파일이면 True를 반환합니다. 이것은 심볼릭 링크를 따르므로 islink ()isfile ()은 동일한 경로에 대해 true 일 수 있습니다.

import os.path
os.path.isfile(fname) 

파일인지 확인해야하는 경우

Python 3.4부터 pathlib모듈은 객체 지향 접근 방식을 제공합니다 (Python 2.7에서 pathlib2로 백 포트 됨) :

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
    

디렉토리를 확인하려면 다음을 수행하십시오.

if my_file.is_dir():
    # directory exists
    

Path객체가 파일인지 디렉토리인지 독립적으로 존재하는지 확인하려면 exists ()를 사용하세요.

if my_file.exists():
    # path exists
    

try블록에서 resolve (strict = True)를 사용할 수도 있습니다.

try:
    my_abs_path = my_file.resolve(strict=True)
    except FileNotFoundError:
        # doesn't exist
        else:
            # exists
            



출처 : https://stackoverflow.com/questions/82831