나는 디렉토리가 존재하는지 확인하고있어,하지만 난 내가 사용주의 os.path.exists
대신에 os.path.isdir
. 둘 다 잘 작동하지만 .NET isdir
대신 사용하는 이점이 무엇인지 궁금 exists
합니다.
나는 디렉토리가 존재하는지 확인하고있어,하지만 난 내가 사용주의 os.path.exists
대신에 os.path.isdir
. 둘 다 잘 작동하지만 .NET isdir
대신 사용하는 이점이 무엇인지 궁금 exists
합니다.
답변:
os.path.exists
True
해당 이름의 일반 파일이있는 경우 에도 반환 됩니다.
os.path.isdir
True
해당 경로가 존재하고 디렉토리이거나 디렉토리에 대한 심볼릭 링크 인 경우 에만 반환 됩니다.
os.path.isdir('.ipynb_checkpoints')
진정한 반환
대부분의 경우 동일합니다.
그러나 경로는 물리적으로 존재할 수 있지만 path.exists()
False를 반환합니다. os.stat ()가이 파일에 대해 False를 반환하는 경우입니다.
경로가 물리적으로 존재 path.isdir()
하면 항상 True를 반환합니다. 이것은 플랫폼에 의존하지 않습니다.
isdir()
경우 디렉터리가 있는지 여부를 알 수 없습니다.
os.path.exists (path) 경로가 기존 경로를 참조하면 True를 반환합니다. 기존 경로는 일반 파일 ( http://en.wikipedia.org/wiki/Unix_file_types#Regular_file ) 일 수 있지만 특수 파일 (예 : 디렉토리) 일 수도 있습니다. 따라서 본질적으로이 함수는 제공된 경로가 파일 시스템에 어떤 형태로든 존재하는 경우 true를 반환합니다 (단선 된 심볼릭 링크와 같은 몇 가지 예외에도 불구하고).
os.path.isdir (path)는 경로가 디렉토리를 가리키는 경우에만 true를 반환합니다.
os.path.isdir
symlink에서 나를 위해 true를 반환합니다.