mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monday, January 29, 2007

Python/파이썬] 이진파일 열기/읽기/출력 예제: Binary File Open-Read Example


이진 파일 즉 바이너리 파일을 열어서 "1바이트씩" 읽어, 화면에 헥사 코드로 출력하는 방법입니다.

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, '파일을 열 수 없습니다.'




실행 결과 화면:
D:\Z>example.py test.bin
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 | 파이썬 프로그래밍

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top