파이썬 사용법, Python programming

Python ctypes로 C 라이브러리 호출하기

파이썬으로 시스템 프로그래밍을 하다 보면 표준 라이브러리에 없는 저수준 기능이 필요한 순간이 온다. 특정 syscall을 직접 호출해야 하거나, 이미 검증된 C 라이브러리(.so)를 재사용하고 싶거나, 순수 파이썬으로는 느린 연산을 C로 짜둔…

Continue ReadingPython ctypes로 C 라이브러리 호출하기

Python subprocess로 시스템 명령어 제어하기

Python 스크립트에서 셸 명령어나 외부 프로그램을 호출해야 하는 상황은 흔하다. os.system()은 출력을 캡처할 수 없고, os.popen()은 에러 처리와 스트림 제어가 번거롭다. 특히 자동화 스크립트에서 외부 명령의 표준출력/표준에러를 각각 받아 로그로…

Continue ReadingPython subprocess로 시스템 명령어 제어하기

Pandas(판다스) 통계함수(mean, unique, value_counts)

데이터를 받으면 가장 먼저 하게 되는 작업이 값의 분포를 파악하는 것이다. Pandas는 평균을 구하는 mean(), 고유값을 뽑는 unique(), 값별 개수를 세는 value_counts() 같은 통계 함수를 기본으로 제공한다. 이 글에서는 예제…

Continue ReadingPandas(판다스) 통계함수(mean, unique, value_counts)

Python 자료구조

자료구조는 데이터를 저장하고 조직화하는 방식을 정의한다. Python(파이썬)은 리스트, 튜플, 집합, 사전 같은 내장 자료구조와, 이를 확장한 collections 모듈을 함께 제공해 대부분의 작업을 표준 라이브러리만으로 처리할 수 있다. 이 글에서는 각…

Continue ReadingPython 자료구조

SysRq를 위한 pyserial-miniterm에 send_break() 기능 추가하기

임베디드 리눅스 디바이스를 개발할 때, 시리얼 콘솔을 통해 커널 디버깅 또는 긴급 명령을 보내는 경우가 있다. 그중 하나가 Magic SysRq 키 조합을 시리얼 포트를 통해 보내는 기능이다. Magic SysRq는 리눅스…

Continue ReadingSysRq를 위한 pyserial-miniterm에 send_break() 기능 추가하기