본문 바로가기

파이썬 Crc32 계산 [ 파이썬 Crc32 계산하기 (ZIP Archive) ] 파이썬 전 플랫폼 가능. binascii 모듈의 crc32() 함수를 이용하므로, import binascii 해주자. "ZIP 포맷의 Crc-32 계산을 위한 함수"로, 다른 경우에는 적합하지 않다.( Crc-32 with magic number 'debb20e3'(little endian) ) 1. 일반적 사용법import binascii crc =binascii.crc32(b"nightohl")print('crc32 = {:#010x}'.format(crc))==> crc32 = 0x4c2810b2 2. 2개 이상의 조각의 Crc-32 구하기import binasciicrc = binascii.crc32(b"night") crc = bina..
파이썬3 타입 확인, 검사 하는 방법 [파이썬 타입 확인, 검사 하는 방법] type() 함수를 이용하면 된다. 단순히 타입을 확인하고자 하는 경우에는 type() 결과를 print()로 호출하면 된다.a = 1print( type( a ) ) 타입을 검사하고자 한다면 반환 결과를 str로 만들어 문자열로 검사를 하면 된다.a = 1if ( str( type( a ) ) == "" ): print("Integer !")
파이썬3 현재 커서 위치 반환 [ 파이썬3 파일 입출력 현재 커서 위치 반환 ] tell() 내장함수 사용. with open("test.txt", "rb+") as f:f.read(4)print( f.tell() ) f.seek(20)print( f.tell() ) => 결과 : 4, 20
파이썬3 바이너리 값 편집 [파이썬3 바이너리 값 편집][ Python3 기준 ] 파일의 바이너리 값을 편집하고자 한다.ex) 파일의 Data 길이를 나타내는 Header 값을 수정하고자 하는 경우! 파이썬 3에서는 참 편리한 함수를 제공하여 편집이 용이하다. 우선 파일을 바이너리 모드로 열어준다. (b 추가) 바이너리 모드이므로 여기서 read() 함수를 호출하면 type : 으로 읽힌다.bytes 타입으로 산술연산을 할 수 없으므로 int로 변환시켜 계산한다.int.from_bytes(bytes, byteorder, signed=) 함수를 사용하자. bytes bytes-like-object 또는 iterable producing bytes가 들어가야한다. byteorder endian 방식을 표기하는데, 'big' or 'l..
파이썬 Binary 파일값 hex로 다루기 binascii 모듈을 이용해서 파일에서 읽어온 값을 hex 수준에서 다룰 것이다. 보통 파일을 열어 read(4) 후 print 하면 ascii 수준의 값인 "abcd"가 출력된다.이를 hex 수준의 값으로 출력하고 싶다면 binascii.b2a_hex() 함수를 이용하면 된다. 뜻을 풀어보면 다음과 같다.b2a : Binary to Ascii 즉, Binary 값을 Ascii 문자열로 만들건데,_hex() : 16진수 표현식으로 만들거다. ex) 시그니처를 검사한다던지, 파일 헤더값을 참조한다던지 등 hex 값을 이용할 일이 많다. 문자열의 hex 값으로 출력이 잘 된다. binascii.b2a_hex(data)binascii.hexlify(data)Return the hexadecimal repre..
파이썬 한글 인코딩 해결 파이썬 2.7 기준 맨 앞에 주석 한줄을 추가해주면 됨. #-*- coding:utf-8 -*- 이는 아래의 모든 문자열을 UTF-8 형식으로 처리한다는 의미. 파이썬 2.7은 기본적으로 문자열을 Unicode형식으로 처리하므로, 한글 사용 시 위와 같은 인코딩 설정이 필요. --------------------------------------------------------------------------------------------------------------※ 파이썬 3부터는 기본적으로 utf-8을 사용하므로, 위 같은 주석을 쓰지 않아도 됨.
파이썬 입출력 [ 파일 모드 종류 ]r - 읽기모드 (디폴트)w - 쓰기모드, (항상 새로 생성 - 기존 내용 삭제됨.)x - 쓰기모드, (이미 파일 존재 시 오류.)a - 내용추가모드, 파일이 있으면 뒤에 내용을 추가 -- 중간에 추가는 안됨.+ - 읽기쓰기모드t - 텍스트 모드 (default)b - 바이너리 모드, bytes 단위 데이터 처리. +) 알아두기.f = open('file.txt', 'r+t')텍스트 읽기쓰기모드, 맨 앞에서부터 내용을 덮어쓴다. 기존 파일 유지. (파일이 없으면 오류 발생) --> r(읽기모드) 이므로.
파이썬에서 프로세스 생성 파이썬에서 프로세스 생성하기CreateProcessA API MSDN : https://docs.microsoft.com/en-us/windows/desktop/api/processthreadsapi/nf-processthreadsapi-createprocessa ------------------------------------------------------------------------------------------------------- from ctypes import *from defines import * kernel32 = windll.kernel32 #ctypes.windll.kernel32 if __name__ == '__main__': path_to_exec = "python C:\..