[파이썬] 파일 경로와 파일 탐색

파일 처리는 프로그래밍에서 중요한 부분이며, 파일을 읽거나 쓰는 작업을 수행해야하는 많은 경우가 있습니다. 이를 위해 Python은 파일 경로를 다루는 기능과 파일을 탐색하는 기능을 제공합니다. 이번 포스트에서는 Python에서 파일 경로를 다루고 파일을 탐색하는 방법을 살펴보겠습니다.

파일 경로

Python에서 파일 경로는 운영체제에 따라 달라질 수 있습니다. 따라서 파일 경로를 다룰 때는 해당 운영체제에 맞는 방식으로 처리해야 합니다. Python의 os 모듈은 다양한 운영체제에서 동작하는 파일 경로 관련 함수를 제공합니다.

다음은 파일 경로와 관련된 몇 가지 기능의 예시입니다:

  1. 현재 디렉토리 확인하기

    import os
    
    current_dir = os.getcwd()
    print(f"현재 디렉토리: {current_dir}")
    
  2. 절대 경로와 상대 경로 구분하기

    import os
    
    path = "/Users/username/Documents/test.txt"
    
    abs_path = os.path.abspath(path)
    print(f"절대 경로: {abs_path}")
    
    rel_path = os.path.relpath(path)
    print(f"상대 경로: {rel_path}")
    
  3. 경로 추출하기

    import os
    
    path = "/Users/username/Documents/test.txt"
    
    dir_name = os.path.dirname(path)
    print(f"디렉토리 이름: {dir_name}")
    
    file_name = os.path.basename(path)
    print(f"파일 이름: {file_name}")
    
  4. 경로 조작하기

    import os
    
    path = "/Users/username/Documents/test.txt"
    
    new_path = os.path.join("/Users/username", "NewFolder")
    print(f"새 경로: {new_path}")
    
    parent_dir = os.path.dirname(os.path.dirname(path))
    print(f"상위 디렉토리: {parent_dir}")
    

파일 탐색

특정 디렉토리 내에서 파일을 탐색해야 할 때, Python은 os 모듈과 glob 모듈을 사용하여 파일을 찾을 수 있는 기능을 제공합니다.

다음은 파일 탐색과 관련된 몇 가지 기능의 예시입니다:

  1. 특정 확장자를 가진 파일 찾기

    import glob
    
    folder_path = "/Users/username/Documents"
    extension = "*.txt"
    
    txt_files = glob.glob(f"{folder_path}/{extension}")
    for file in txt_files:
        print(file)
    
  2. 중첩된 디렉토리 내의 모든 파일 탐색하기

    import os
    
    folder_path = "/Users/username/Documents"
    
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            print(os.path.join(root, file))
    
  3. 파일 정보 가져오기

    import os
    
    file_path = "/Users/username/Documents/test.txt"
       
    file_size = os.path.getsize(file_path)
    print(f"파일 크기: {file_size} bytes")
       
    file_modified = os.path.getmtime(file_path)
    print(f"마지막 수정 시간: {file_modified}")
    

파일 경로와 파일 탐색은 Python에서 매우 유용한 기능 입니다. 위의 예시를 참고하여 파일 처리와 관련된 작업을 수행할 때 유용하게 활용해보세요.