OS 라이브러리를 사용하여 파일 또는 폴더의 존재를 매우 쉽게 확인할 수 있습니다. 다음 두 링크는 directoryExistancefileExistance파이썬에서 서브 프로세스 라이브러리를 사용하여 파일 또는 폴더의 존재 확인
내가 같은
을 수행 할 서브 프로세스를 라이브러리를 사용하려고 시도하고 있음을 설명하고, 나는
1 이미 접근 방법의 몇 가지를 시도 status = subprocess.call(['test','-e',<path>])
은 경로에서 무엇을 전달하더라도 항상 1을 반환합니다. getstatusoutput를 사용
2,
/빈/SH는 : 1 : 권한 상태 변수가 126을 반환하기 때문에 파일/폴더가 존재하는 경우 제대로 작동
status, result = subprocess.getstatusoutput([<path>]) print(status) print(result)
127 거부 파일/폴더가 존재하지 않습니다. 또한 결과 변수에 메시지가 있지만 결과 변수에 메시지가 포함되어 있습니다. 사용 권한이 거부되었습니다.
하지만 두 번째 해결책은 나에게 해킹처럼 보입니다. 이 일을하는 것이 더 나은 방법인가요?
"/ bin/sh : 1 : : Permission denied"는 실수로 두 번째 지점에 기록됩니다. –
현대적인 방법은 ['pathlib'] (https://docs.python.org/3/library/pathlib.html#basic-use)를 사용하는 것입니다. –
'~'로 작업하지 않습니다.내 우분투 플랫폼에서 –