Monday, January 29, 2007
Python/파이썬] 이진파일 열기/읽기/출력 예제: Binary File Open-Read Example
이진 파일 즉 바이너리 파일을 열어서 "1바이트씩" 읽어, 화면에 헥사 코드로 출력하는 방법입니다.
open(fname, 'rb')
이렇게 'rb' 라는 모드로 열어야 하는데, r은 읽기용으로 열기, b는 이진 모드로 열기입니다. 따라서, 이진파일을 읽기전용 모드로 여는 것입니다.
바이너리 파일 (이진 파일) 1바이트(Byte)씩 열기 읽기 예제
파일명: example.py
실행 결과 화면:
test.bin 이라는 이름의 14바이트짜리 이진파일을 읽어서 그 내용을 헥사로 출력했습니다.
텍스트 파일 읽기 예제: ▶▶ Python/파이썬] 텍스트 파일 열기/읽기/출력 예제: Text File Open-Read-Print
파이썬으로, 헥사 뷰어 만들기 소스: 파이썬 Python, 헥사 뷰어, 헥사 덤프 만들기 소스 코드; Hex Viewer, File Dumper
open(fname, 'rb')
이렇게 'rb' 라는 모드로 열어야 하는데, r은 읽기용으로 열기, b는 이진 모드로 열기입니다. 따라서, 이진파일을 읽기전용 모드로 여는 것입니다.
바이너리 파일 (이진 파일) 1바이트(Byte)씩 열기 읽기 예제
파일명: example.py
#!/usr/bin/python
# -*- coding: cp949 -*-
import sys
# 파일명을 지정하지 않으면 에러 출력하고 종료
if len(sys.argv) is 1:
print >> sys.stderr, '읽을 파일명을 입력해 주세요'
exit(1)
# 명령행 옵션으로 지정한 파일명 얻기
fname = sys.argv[1]
# 파일 내용을, 일 바이트씩 읽어서 화면에 16진수로 출력하기
try:
FH = open(fname, 'rb') # 파일 열기
while True:
s = FH.read(1)
if s == '': break
print '%02X' % int(ord(s)), # 1바이트씩 출력
FH.close() # 파일 닫기
except IOError:
print >> sys.stderr, '파일을 열 수 없습니다.'
# -*- coding: cp949 -*-
import sys
# 파일명을 지정하지 않으면 에러 출력하고 종료
if len(sys.argv) is 1:
print >> sys.stderr, '읽을 파일명을 입력해 주세요'
exit(1)
# 명령행 옵션으로 지정한 파일명 얻기
fname = sys.argv[1]
# 파일 내용을, 일 바이트씩 읽어서 화면에 16진수로 출력하기
try:
FH = open(fname, 'rb') # 파일 열기
while True:
s = FH.read(1)
if s == '': break
print '%02X' % int(ord(s)), # 1바이트씩 출력
FH.close() # 파일 닫기
except IOError:
print >> sys.stderr, '파일을 열 수 없습니다.'
실행 결과 화면:
D:\Z>example.py test.bin
47 49 46 38 39 61 24 00 0E 00 D5 00 00 FF
D:\Z>
47 49 46 38 39 61 24 00 0E 00 D5 00 00 FF
D:\Z>
test.bin 이라는 이름의 14바이트짜리 이진파일을 읽어서 그 내용을 헥사로 출력했습니다.
텍스트 파일 읽기 예제: ▶▶ Python/파이썬] 텍스트 파일 열기/읽기/출력 예제: Text File Open-Read-Print
파이썬으로, 헥사 뷰어 만들기 소스: 파이썬 Python, 헥사 뷰어, 헥사 덤프 만들기 소스 코드; Hex Viewer, File Dumper
tag: python
Python | 파이썬 프로그래밍
<< Home