Python config.ini 보다 입력받은 옵션을 더 우선시 하기
By 박모 사진첩 | 2022년 10월 13일 |
configparser 를 통해 argument를 파싱하고 비슷한 것을 config.ini 에 넣어 두었다고 가정이때 config.ini 를 먼저 읽어서 argument쪽에 넣고 argument를 다시 읽으면 되는데, 이때 문제가 parser가 초기화를 한다. 그래서 무식한 방법이지만 default 에 넣는 방식으로 다음과 같이 처리하면 된다.이때 형변환 부분이 있을 수 있는데, 이 부분은 아직 고려 하지 않았다. 예제소스 test.py import configparserimport argparse def loadConfig(cfgfile): my_cfg = configparser.RawConfigParser() my_cfg.optionxform = str my_cfg.read(
[bash: date] UTC(GMT) 기준 시간을 로컬(한국) 시간으로 변환
By 반달가면 | 2021년 6월 28일 |
UTC (GMT) 기준으로 되어 있는 시간을 로컬(한국) 시간으로 변환하는 방법이다. date 명령에서 -d 옵션을 사용한다. 예시를 보면 금방 감이 잡힐 것이다. # UTC 기준 2021년 6월 18일 20시 24분 10초를 한국 시간으로 date -d "TZ=\"UTC\" 2021-06-18 20:24:10" Sat 19 Jun 2021 05:24:10 AM KST # 출력 형식 지정 추가 date -d "TZ=\"UTC\" 2021-06-18 20:24:10" "+%Y.%m.%d %H:%M:%S" 2021.06.19 05:24:10 -d 옵션에서 TZ="UTC"라는 내용을 지정하여 입력하는 시간이 UTC 기준이라는 점을 명시했다. TZ값을 따옴표로 묶어야 하는데, -d 옵션을 사
[라즈베리파이] 워크큐(Workqueue) 함수 및 로그 Overview
By Guillermo Austin Kim | 2018년 8월 22일 |
이전에 소개한 용어와 함께 간단히 워크가 어떤 흐름으로 실행하는지 간단히 코드와 ftrace 로그를 살펴봅시다.[https://elixir.bootlin.com/linux/v4.14.43/source/drivers/tty/vt/vt.c]static DECLARE_WORK(console_work, console_callback); 워크를 실행하려면 우선 워크를 초기화해야 하는데 2가지 방법으로 나눌 수 있습니다. 워크를 전역 변수로 지정하는 방법과 커널 코드가 실행할 때 INIT_WORK() 매크로를 써서 워크를 초기화하는 방법입니다. 위 코드에서는 console_work 전역 변수로 워크를 선언했습니다. 워크를 표현하는 구조체는 struct work_struct인데 이 변수가 console_work이고
[bash: while, if] 복잡한 조건에 따른 개별 작업 이후 공통된 작업이 있는 경우
By 반달가면 | 2017년 12월 21일 |
case 조건문을 사용하기 어려운 복잡한 여러개의 조건에 따라 뭔가 작업을 한 후에 공통된 작업이 있는 경우 어떻게 할 것인가에 대한 문제다. 하나의 변수에 대하여 여러 조건에 따라 작업을 하는 경우에는 case로 하면 되지만 변수가 다수일 경우에는 if와 elif를 계속 나열해야 하는 귀찮음이 생긴다. (case에 대한 내용은 이전 게시물을 참고하자. 여기로) 간단한 예시를 생각해 보자. 앞에서 있었던 작업에 의해 두가지 변수 a, b의 값이 설정되는데 먼저 a에 대해 우선적으로 특정 조건을 만족하는지 보고 만족하지 않을 경우 b에 대해 특정 조건을 만족하는지 봐야 하는 경우다. # 변수 a의 값이 0이거나, 또는 변수 b의 값이 1인 경우에 따라 변수 c의 값을 설정 if [[ $a -eq