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

 
Previous Post C, Perl에서, 연 파일을 닫아야 하는 이유는? fclose() close()로Python/파이썬] 텍스트 파일 열기/읽기/출력 예제: Text File Open-Rea...Python/파이썬] 표준 에러 출력으로, 에러 메시지 출력하는 법: STDERRPython/파이썬] 외부 명령어 실행 함수, 외부 프로그램 호출 실행; System, E...Java/자바] 일시 중지/정지 Pause 시키기; Enter키를 누르면 계속됩니다 메시지...Java/자바] 올해가 윤년인지 평년인지 여부 판단; Current Year is Leap...Java/자바] 특정 연도, 윤년 여부 판단 메소드(함수); is Leap Year 사용법...Excel/엑셀 VBA] 1, 2, 3, 4분기 구하기 (사분기); Quarter of t...Excel/엑셀 VBA] 12시간제 시간 표현(AM-PM) 오전 오후 출력; 12-hour...울트라에디트] 특정 단어 개수 세기, 파일 속 단어 수 구하기/계산 방법; UltraEdi...

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

Monday, January 29, 2007

이진 파일 즉 바이너리 파일을 열어서 "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

파이썬 강좌와 각종 예제

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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