IT 274

[python3] pathlib 으로 encoding 지정해서 파일 읽기

기록용으로 남깁니다. 엑셀에서 csv 로 변환한 파일을 읽으려고 하니 오류가 생겼습니다. SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape encoding 을 지정하니 정상 동작합니다. f = open("kk.csv", "r", encoding="utf-8") 그냥 open 말고 pathlib 을 사용해서도 읽고 싶었습니다. data = Path("kk.csv").read_text(encoding="utf-8") 디저트로 윈도우 파일 경로를 그대로 붙여넣었더니 오류가 발생해서 간단히 해결했습니다. "d:\doc\kk.csv" 로 쓰면 \가 escape..

IT/python 2023.02.16

[python3] dict vs if else vs list

궁금해서 직접 테스트한 결과를 기록합니다. import timeit # test 용 get 함수. 의미 없으니 분석 불필요 def get(p1, p2, p3, p4): return p1+p3+p4 if isinstance(p4, int) else p1+p3+sum(p4) # dict version def set1(p1, p2, p3=44100): sig = {0: p1, 2: get(p1, p3, 1001, [90, 9000])} return sig.get(p2, get(p1, p3, 1001, 90)) # if else version def set2(p1, p2, p3=44100): if p2 == 0: pass elif p2 == 1: sig = get(p1, p3, 1001, 90) elif p2 ..

IT/python 2023.01.26

[python3] yaml 다루기

python3 에서 yaml 파일을 다루려면 pyyaml 패키지를 먼저 설치해야 합니다. python3 -m pip install pyyaml 패키지가 없어서 소스에서 설치할 때는 setup.py 를 실행시킵니다. python3 setup.py install 사용할 때는 yaml 만 언급하면 됩니다. import yaml 읽기 - 방법1 test = yaml.load(file("/home/me/test.yaml", "r"), Loader=yaml.SafeLoader) 읽기 - 방법2 data = """ a: 0 b: [1, 2] c: false d: 2.456 """ test = yaml.load(data, Loader=yaml.SafeLoader) ※참고로 Loader 지정 안하면 경고가 따라다닙니다...

IT/python 2023.01.19

[raspberrypi 4B][crontab][systemctl] 서비스 실행 안되는 문제

Debian buster 기반 라즈베리파이 os 에서 crontab 에 systemctl 로 서비스 제어하는 명령을 넣으면 실행이 안되는 문제가 있습니다. 로그도 안남아서 sendmail 을 설치해서(느려 터져서 속이 터집니다..) 로그가 메일로 남도록 한 다음에 mailq(실행이 멈춰있습니다..)로 메일 확인하려 했지만 사실상 힘들어서 /var/mail/pi 파일을 vim 으로 열어보니 다음 오류가 발생해 있었습니다. Failed to connect to bus: No such file or directory 이건 왠 봉창 두들기는 소리인가 하고 뒤져보다가.. askubuntu 에 실려 있는 2번째로 선호되는 답을 속는 셈 치고 실행해봤더니 정상적으로 실행됩니다. 이유는 아직 정확히 파악 못했습니다....

IT/System Digging 2022.12.23

[linux][ubuntu 20.04] ssh 개인키(private key) 파일만 있을 때 공개키 얻기

기록용으로 남깁니다. ssh-keygen -yf private.pem > public.key private.pem 에 원본 파일 이름, public.key 에 실제로 내보내고 싶은 키 파일 이름을 지정하면 됩니다. 내용 확인만 하고 싶으면 리다이렉션( > public.key)은 제외해도 됩니다. ssh-keygen -yf private.pem ps: ssh-keygen 은 기본적으로 주어진 파일이름에 결과를 쓰지만, -y 옵션을 사용하면 읽습니다. -f 는 파일명 지정

IT/server 2022.12.22

[ubuntu 20.04] canon MF440 Series 프린터 원격으로 사용하기

기록용으로 남깁니다. 드라이버 다운로드 https://in.canon/en/support/0100924010 에서 드라이버를 다운 받습니다. 드라이버 설치 tar xzf linux-UFRII-drv-v560-m17n-08.tar.gz cd linux-UFRII-drv-v560-m17n sudo bash install.sh 프린터 설정 검색되는 프린터 중에 ipp 가 있고 lpd 가 나오면 성공입니다. ipp 는 제 경우는 잘 안되었으니 lpd 를 선택해주면 됩니다. 시험 부분 인쇄 를 선택해서 인쇄가 잘 되는지 확인하시면 됩니다.

IT/System Digging 2022.10.13