기본 콘텐츠로 건너뛰기

라벨이 이진 파일인 게시물 표시

[Python] 이진 파일 읽고 쓰기

아래는 이진 파일을 쓰는 파이썬 코드와 실행하는 방법입니다. #! -*- Encoding: Latin-1 -*- import sys if __name__ == '__main__': if 4 == len(sys.argv): print 'file name = ' + str(sys.argv[1]) print 'offset = ' + str(sys.argv[2]) print 'string = ' + str(sys.argv[3]) f = open(sys.argv[1] , 'rb+') # 이진 파일 읽고 쓰기로 엽니다. f.seek(int(sys.argv[2]),1) # 파일의 현 위치에서 주어진 값 만큼 이동합니다.(양의 값이면 앞으로, 음의 값이면 뒤로) f.write(sys.argv[3]) # 파일에 문자열을 씁니다. f.close() # 파일을 닫습니다. 2011.02.23 : NULL값으로 패딩 주어진 문자열의 길이가 설정된 길이 보다 작을 때 그 나머지 값에 NULL을 채워 파일에 적기. str = sys.argv[3] if len(str) 또한  struct 모듈 을 이용하여 데이타를 팩킹하여 저장 혹은 언팩킹하여 읽을 수 있습니다. import struct try: file.write(struct.pack('I', idx)) # unsigned int 데이터 저장 data = struct.pack('ffff', self.color[0], self.color[1], self.color[2], 1) # 4개의 float 데이터 저장 file.write(data) data = struct.pack('I', len(self.vertices)) file.write(data) data = struct.pack(...