Python에 파일이 있는지 어떻게 확인합니까?

이 간단한 강좌에서 우리는 Python에 파일이 존재하는지 확인하는 방법을 이해할 것이다.파일에 대해 어떤 작업을 수행하기 전에 파일의 존재성을 검사하는 것이 왜 중요한지, 파이톤에 파일이 존재하는지 확인하는 여러 가지 방법을 살펴봅시다.

카탈로그

  • Why do we need to check if a file exists?
  • Methods to check if file exists
  • Using OS module
  • Using pathlib module
  • Using Glob module
  • Using sub-process (only for Unix)
  • Exception handling method
  • Closing thoughts
  • 왜 우리는 파일이 존재하는지 검사해야 합니까?


    Python에서 다양한 작업을 수행할 수 있습니다.파일을 만든 후, 우리는 파일에 대해 읽기, 업데이트, 복사, 삭제 작업을 수행할 수 있습니다.만약 우리가 코드를 작성해서 파일에 이 동작을 실행하고 이 파일이 존재하지 않는다면, 이 파일이 정의된 경로에 존재하는지 확인한 후에 코드를 덮어써야 한다.
    따라서 파일에서 함수를 실행하고 프로그램의 충돌을 방지하기 위해서는 먼저 파일이 존재하는지 확인해야 한다.
    이 점을 해낼 수 있는 여러 가지 방법이 있다.Python 라이브러리를 사용할 수도 있고 다른 방법을 사용할 수도 있습니다.우리 하나씩 봅시다.

    파일이 있는지 확인하는 방법


    운영 체제 모듈 사용


    Os는 운영 체제와 상호 작용하는 함수를 포함하는 내장형 Python 모듈입니다.운영체제를 사용하면 운영체제 기능에 접근할 수 있습니다.운영 체제.path는 Python의 운영 체제의 하위 모듈입니다.이것은 공공 경로 이름을 조작하는 데 사용됩니다.
    운영 체제.path에는 두 가지 방법이 있습니다. isfile () 과exists (). 파일이 존재하는지 여부에 따라 'True' 또는 'False' 를 출력합니다.

    1. 운영 체제.경로isfile () 방법 - 정의된 경로가 기존 일반 파일인지 확인


    문법 -
    os.path.isfile(path)
    
    매개변수 -
    경로:파일의 경로를 나타냅니다.
    파일의 존재 여부에 따라 반환 유형: True 또는 False.
    예제 -
    import os
    
    path= 'C:\Users\filename.txt'
    
    isFile = os.path.isfile(path)
    
    print (isFile)
    
    파일 이름이 "filename"인 경우"txt"가 존재하면 "진짜"로 출력하고, 그렇지 않으면 "가짜"로 출력합니다.

    2. 운영 체제.경로exists() 방법 - 정의된 경로가 있는지 확인


    문법 -
    os.path.exists(path)
    
    매개변수 -
    경로:파일의 경로를 나타냅니다.
    반환 유형: 파일 존재 여부에 따라 "True"또는 "False"
    예제 -
    import os
    
    path= 'C:\Users\filename.txt'
    
    isExist = os.path.exists(path)
    
    print(isExist)
    
    파일 이름이 "filename"인 경우"txt"가 존재하면 "진짜"로 출력하고, 그렇지 않으면 "가짜"로 출력합니다.
    운영 체제를 사용하기 전에 주의하십시오.경로isfile () 방법이나 운영체제입니다.경로exists () 방법,os.경로 모듈을 가져와야 합니다.

    3. 운영 체제.경로isdir () 방법 - 정의된 경로가 기존 디렉터리인지 확인


    문법 -
    os.path.isdir(path)
    
    매개변수 -
    경로:파일의 경로를 나타냅니다.
    파일의 존재 여부에 따라 반환 유형: True 또는 False.
    예제 -
    import os.path
    
    path= 'C:\Users\filename.txt'
    
    isDir = os.path.exists(path)
    
    print(isDir)
    
    여기서, 우리의 파일은 디렉터리가 아니기 때문에, 우리는 'False' 로 출력될 것입니다.
    운영 체제를 사용하기 전에 주의하십시오.경로isfile () 방법, 운영체제.경로exists () 방법이나 운영체제입니다.경로isdir () 방법입니다.경로 모듈을 가져와야 합니다.

    pathlib 모듈 사용


    Pathlib은python에 내장된 대상 인터페이스로 파일과 디렉터리를 처리하는 대상 API를 제공합니다.운영체제 모듈과 마찬가지로 pathlib 모듈을 사용하여 존재 여부를 찾을 수 있는 두 가지 방법이 있다.

    1.pathlib。경로exists() 방법


    예제 -
    import pathlib
    
    file = pathlib.Path("C:/Users/filename.txt")
    
    if file.exists():
        print ("File exist")
    else:
        print ("File does not exist"
    
    파일 이름이 "filename"인 경우"txt"가 나타나면 "진짜"로 출력하고, 그렇지 않으면 "가짜"로 출력합니다.

    2.pathlib。is file() 방법


    예제 -
    import pathlib
    
    file = pathlib.Path("C:/Users/filename.txt")
    
    if file.is_file():
        print ("File exist")
    else:
        print ("File does not exist"
    

    3.pathlib。is dir() 방법


    예제 -
    import pathlib
    
    file = pathlib.Path("C:/Users/filename.txt")
    
    if file.is_dir():
        print ("Directory exist")
    else:
        print ("Directory does not exists")
    
    여기서 디렉터리가 아닌 파일을 검색할 때 출력은 디렉터리가 존재하지 않습니다.
    운영체제 모듈과 pathlib 모듈 사이의 차이는 운영체제에 있다.path 모듈은 함수 플러그인을 필요로 하고 pathlib 모듈 path 클래스는 path 대상에 방법과 속성을 연결하여 같은 효과를 얻을 수 있도록 합니다.pathlib 모듈은 os 모듈과 유사한 기능을 가지고 있으며 파일이 존재하는지 확인하는 데 사용됩니다.

    Glob 모듈 사용


    glob 모듈은 파일 이름이 특정 모드와 일치하는 파일을 어댑터로 검색하는 데 사용됩니다.또한 "True"또는 "False"값을 반환하여 파일의 존재 여부를 나타냅니다.
    예제 -
    import glob
    if glob.glob(r"C:\Users\filename.txt"):
      print ("File exist")
    else:
      print("File does not exist")
    

    하위 프로세스 사용


    Unix 기반 시스템을 사용하는 경우 이 방법이 적용됩니다.하위 프로세스 모듈에 파일이나 디렉터리가 존재하는지 확인하는 데 사용할 테스트 명령이 있습니다.
    첫 번째 단계는'test-e'를 사용하여 파일/디렉터리의 경로가 존재하는지 확인하는 것입니다.만약 경로가 존재한다면, 우리는 각각'test-f'또는'test-d'를 사용하여 파일/디렉터리가 존재하는지 검사합니다.
    from subprocess import run
    
    run (['test', '-e', 'filename.txt']).returncode == 0
    If the output is "True", we then check for the file.
    run(['test', '-f', 'filename.txt']).returncode == 0
    
    따라서 파일이 있는 경우 "True"를 내보냅니다.

    예외 처리 방법


    try와 except 문장에서, 우리는'try'아래에서 코드를 편집했고,'except'문장은'try'아래에서 코드의 오류를 테스트했다.오류가 있으면 제외 블록을 실행합니다.따라서, 우리는 'try' 문구를 사용하여 파일을 열어 파일이 존재하는지 확인합니다.파일이 없으면 IOError 예외가 발생하므로 파일이 존재하지 않음을 나타내기 위해 출력을 인쇄할 수 있습니다.
    예제 -
    try:
      file = open('filename.txt')
      print("File exists")
      file.close()
    
    except IOError:
      print("File does not exists")
    
    다음 예는try-and-except 방법을 사용하는 또 다른 방법을 보여 준다.여기에 존재하지 않는 파일을 열려고 하면 파이톤은 FileNotFoundError를 제공합니다.
    file=open('filename.txt')
    try:
      file.close()
      print("File exists")
    
    except FileNotFoundError:
      print("File does not exists")
    
    이 두 가지 상황에서 파일이 존재하는지 여부에 따라 출력은 '파일 존재' 또는 '파일 존재' 가 됩니다.

    결어


    파일에 대한 작업을 수행하기 전에 파일이 있는지 확인하는 것이 좋습니다.이것은 파일이 존재하지 않는 상황에서 코드를 덮어쓰는 것을 피할 것이다.여기서 우리는 서류의 존재 여부를 검사하는 여러 가지 방법을 보았다.
    그중 첫 번째 방법은 자주 사용하는 것으로 초보자에게 추천할 수 있다.라이브러리를 사용하지 않을 때try-and-except 방법이나 이상 처리 방법을 사용할 수 있습니다.
    그러나 여러 가지 방법이 어떻게 일을 하는지 마음대로 탐색하고 이해해 주십시오.

    좋은 웹페이지 즐겨찾기