[파이썬] 파일 경로와 파일 읽기

파이썬에서 파일 경로를 다루고 파일을 읽는 것은 매우 중요한 작업입니다. 이 글에서는 파일 경로를 다루는 방법과 파일을 읽는 방법에 대해서 알아보겠습니다.

파일 경로 다루기

파일 경로는 파일이 위치한 디렉토리 및 하위 디렉토리와 파일 이름으로 구성됩니다. 파이썬에서 파일 경로를 다루기 위해서는 os 모듈을 사용합니다.

import os

# 현재 작업 디렉토리 확인
current_dir = os.getcwd()
print(f"Current Directory: {current_dir}")

# 경로 합치기
file_path = os.path.join(current_dir, "example.txt")
print(f"File Path: {file_path}")

# 경로 분리하기
dir_path, file_name = os.path.split(file_path)
print(f"Directory Path: {dir_path}")
print(f"File Name: {file_name}")

# 경로 존재 여부 확인
is_exists = os.path.exists(file_path)
print(f"File Exists: {is_exists}")

위의 예제는 os 모듈을 이용하여 파일 경로를 다루는 방법을 보여줍니다. 현재 작업 디렉토리를 확인하고, os.path.join 함수를 사용하여 디렉토리 경로와 파일 이름을 합칩니다. 그리고 os.path.split 함수를 사용하여 경로를 디렉토리 경로와 파일 이름으로 분리합니다. 마지막으로 os.path.exists 함수를 사용하여 파일 경로의 존재 여부를 확인합니다.

파일 읽기

파일을 읽기 위해서는 파일 경로를 알고 있어야 합니다. 파일 경로를 알고 있다면, 아래와 같은 방법으로 파일을 읽을 수 있습니다.

# 파일 읽기 (일반적인 방법)
file = open(file_path, "r")
contents = file.read()
file.close()
print(contents)

# 파일 읽기 (with 문 사용)
with open(file_path, "r") as file:
    contents = file.read()
    print(contents)

위의 예제에서 open 함수를 사용하여 파일을 연 후, read 메소드를 호출하여 파일의 내용을 읽습니다. 이후에는 파일을 닫는 것이 중요한데, 첫 번째 예제에서는 file.close() 메소드를 사용하여 파일을 닫았고, 두 번째 예제에서는 with 문을 사용하여 파일을 자동으로 닫았습니다.

파일을 읽을 때에는 파일의 크기에 따라 메모리를 사용하므로, 큰 파일을 읽을 때에는 주의해야 합니다. 대용량 파일을 읽을 때에는 파일을 조금씩 읽어오는 방식을 사용할 수 있습니다.

# 대용량 파일 읽기
chunk_size = 1024
with open(file_path, "r") as file:
    while True:
        contents = file.read(chunk_size)
        if not contents:
            break
        # 읽어온 내용을 처리하는 코드 작성

위의 예제에서는 파일을 지정한 크기로 조금씩 읽어오고, 내용을 처리하는 코드를 작성합니다. 이렇게 하면 파일의 크기에 상관없이 메모리를 효율적으로 사용할 수 있습니다.

파일 경로를 다루고 파일을 읽는 것은 파이썬 프로그래밍에서 빈번하게 사용되는 작업 중 하나입니다. 이 글에서는 파일 경로를 다루는 방법과 파일을 읽는 방법에 대해서 알아보았습니다. 이를 통해 파일 조작에 필요한 기본적인 기능을 습득하고, 다양한 파일 관련 작업에 활용할 수 있을 것입니다.