프로그래밍 언어/Python

파이썬에서 존재하지 않을 수 있는 파일을 삭제하는 가장 좋은 방법

Rateye 2021. 11. 10. 10:46
728x90
반응형
질문 : 존재하지 않을 수있는 파일을 삭제하는 가장 비단뱀적인 방법

filename 경우 삭제하고 싶습니다. 말하는 것이 적절합니까?

if os.path.exists(filename):
    os.remove(filename)
    

더 좋은 방법이 있습니까? 한 줄로?

답변

더 비단뱀적인 방법은 다음과 같습니다.

try:
    os.remove(filename)
except OSError:
    pass

이것은 더 많은 라인을 필요로하고 매우 추하게 보이지만 os.path.exists() 대한 불필요한 호출을 피하고 예외를 남용하는 파이썬 규칙을 따릅니다.

이 작업을 수행하는 함수를 작성하는 것이 좋습니다.

import os, errno

def silentremove(filename):
    try:
        os.remove(filename)
    except OSError as e: # this would be "except OSError, e:" before Python 2.6
        if e.errno != errno.ENOENT: # errno.ENOENT = no such file or directory
            raise # re-raise exception if a different error occurred
출처 : https://stackoverflow.com/questions/10840533/most-pythonic-way-to-delete-a-file-which-may-not-exist
728x90
반응형