728x90
반응형
파이썬에서 파일의 크기를 확인하는 방법들을 몇 가지 알아보도록 하겠습니다.
- os.path.getsize() 함수 이용
- os.stat() 함수 이용
- open(), seek(), tell(), close() 기본 파일 함수 이용
다음은 위 세 가지 방법들을 이용하여 파일 크기를 확인하는 예제입니다.
from os import path, stat, SEEK_END
file_name = './file_size3.py'
# 1) use os.path.getsize()
file_size1 = path.getsize(file_name)
print(f'get file_size #1 (os.path.getsize()) = {file_size1}')
# 2) use os.stat()
file_stat = stat(file_name)
print(f'file_stat = {file_stat}')
file_size2 = file_stat.st_size
print(f'get file_size #2 (os.stat()) = {file_size2}')
# 3) use open(), seek(), tell(), close()
f = open(file_name, 'rb')
f.seek(0, SEEK_END)
file_size3 = f.tell()
print(f'get file_size #3 (seek(), tell()) = {file_size3}')
f.close()
가장 쉽고 간단한 것은 os.path.getsize() 함수 이용하는 방법입니다.
os.stat()의 실행 결과로 반환되는 결과에는 파일에 대한 여러 정보(파일 크기, 소유자, 파일 생성일 등)가 함께 포함되어 있고, 그 중에서 파일 크기도 확인할 수 있습니다.
open(), seek(), tell(), close() 기본 파일 함수 이용하는 방법은 좀 복잡해 보이지만 이진 파일 등을 다루기 위해서는 꼭 알아야 할 함수들입니다. open() 함수를 통하여 파일을 열고, seek() 함수를 이용하여 파일의 특정 위치로 이동합니다. tell() 함수를 이용하여 현재 파일의 위치 정보를 얻을 수 있는데 위 예제에서는 파일을 열고(open) 마지막 위치로 이동 후(seek) 현재 파일의 위치 정보를 받아서 파일 크기를 구하는 방식입니다. close() 함수는 열었던 이진 파일을 닫고 사용중이던 리소스를 반환합니다.
위 예제를 실행한 결과는 다음과 같습니다.
get file_size #1 (os.path.getsize()) = 592
file_stat = os.stat_result(st_mode=33206, st_ino=281474976928763, st_dev=2551902280, st_nlink=1, st_uid=0, st_gid=0, st_size=592, st_atime=1652058224, st_mtime=1652058224, st_ctime=1652057736)
get file_size #2 (os.stat()) = 592
get file_size #3 (seek(), tell()) = 592
참고자료
https://codippa.com/how-to-check-file-size-in-python-3-ways-to-find-out-size-of-file-in-python/
http://mwultong.blogspot.com/2007/04/python-file-size-in-bytes.html
'프로그래밍 > Python' 카테고리의 다른 글
[Python] VS Code 이용 중에 "PSSecurityException" 보안 오류 해결 방법 (0) | 2021.11.24 |
---|---|
pyvisa를 이용한 신호발생기 제어하기 (0) | 2021.10.19 |
[Python] 디스크 용량 확인하기 (0) | 2021.10.06 |
[python] 클래스 타입 비교 (type, isinstance) (0) | 2021.09.30 |
[python] PIP로 설치한 패키지 내부 디버깅하기 (in VSCode) (0) | 2021.09.29 |