[파이썬] 파일 경로와 파일 압축
파이썬에서 파일을 다루는 작업은 매우 일상적이고 중요합니다. 파일 경로를 다루는 것은 파일을 찾거나 생성할 때 필요한 작업입니다. 또한 파일을 압축하여 저장하면 디스크 공간을 절약하고 파일 전송 시간을 단축할 수 있습니다. 이번 포스트에서는 파일 경로와 파일 압축에 대해 알아보고, 이를 다루는 파이썬의 유용한 기능들을 소개합니다.
파일 경로 다루기
파일 경로는 파일을 찾거나 생성할 때 필요한 주소입니다. 여러분이 작업하는 운영체제에 따라 파일 경로 표기 방법이 다를 수 있습니다. 파이썬은 운영체제에 상관없이 파일 경로를 다루는 기능을 제공합니다.
절대 경로와 상대 경로
- 절대 경로(Absolute Path): 파일 시스템의 루트 디렉토리를 기준으로 한 전체 경로입니다.
/Users/username/Documents/file.txt
와 같이 시작부터 끝까지의 경로를 나타냅니다. - 상대 경로(Relative Path): 현재 작업 디렉토리를 기준으로 한 경로입니다.
Documents/file.txt
와 같이 현재 디렉토리부터의 상대적인 경로를 나타냅니다.
파이썬에서는 os
모듈을 사용하여 파일 경로를 다룰 수 있습니다. 아래는 os.path
모듈을 사용하여 파일 경로에 관련된 작업을 수행하는 예시 코드입니다.
import os
# 현재 작업 디렉토리를 얻어옵니다.
current_dir = os.getcwd()
print(f"Current Directory: {current_dir}")
# 절대 경로를 얻어옵니다.
absolute_path = os.path.abspath('file.txt')
print(f"Absolute Path: {absolute_path}")
# 상대 경로를 연결합니다.
relative_path = os.path.join('Documents', 'file.txt')
print(f"Relative Path: {relative_path}")
파일 압축하기
파일을 압축하여 저장하면 디스크 공간을 절약하고 파일 전송 시간을 단축할 수 있습니다. 파이썬에서는 zipfile
모듈을 사용하여 파일 압축을 수행할 수 있습니다.
아래는 zipfile
모듈을 사용하여 파일을 압축하는 예시 코드입니다.
import zipfile
def compress_file(file_path, zip_path):
with zipfile.ZipFile(zip_path, 'w') as zipf:
zipf.write(file_path, arcname=os.path.basename(file_path))
# 파일 압축
compress_file('file.txt', 'file.zip')
압축 파일을 만들고 싶은 파일의 경로와 압축 파일의 경로를 전달하여 compress_file
함수를 호출하면 해당 파일이 압축됩니다.
마무리
이번 포스트에서는 파이썬에서 파일 경로를 다루는 방법과 파일 압축하는 방법에 대해 알아보았습니다. 이러한 기능들을 사용하여 파일 작업을 보다 효율적으로 수행할 수 있습니다.
더 자세한 내용은 파이썬 공식 문서(os.path, zipfile)를 참고하시기 바랍니다. Happy coding!