없는 파일을 제거하는걸 방지하려면 어떤 코드를 써야 되나요?
조회수 965회
발생하는 문제 및 실행환경
없는 파일을 제거하는걸 방지하려면 어떤 코드를 써야 되나요? 파이썬스런 방법으로 알고싶은데 제가 쓰는게 맞는지 확인해주세요
소스코드
if os.path.exists(filename):
os.remove(filename)
1 답변
-
더 파이썬스러운 방법이라면
try: os.remove(filename) except OSError: pass
이 있습니다. 물론 올려주신 코드보다 더 길지만,
os.path.exists(filename)
를 호출하지 않아도 되기 때문에 더 효율적입니다.except 부분에서 더 정확하게 코드를 짜면 "제거할 파일이 없는 경우"만
pass
해야 되므로import os, errno def silentremove(filename): try: os.remove(filename) except OSError as e: # 2.6이하에서는 "except OSError, e:" if e.errno != errno.ENOENT: raise # errno.ENOENT = no such file or directory가 아닌 경우는 다시 raise
댓글 입력