Programming
-
기록용으로 남깁니다. os.listdir() 함수로 파일 목록을 가져왔는데 정렬이 되어 있지 않았습니다. 이름대로 반환되는 결과물이 리스트일꺼라고 생각하고 os.listdir().sort() 를 호출했는데 Nonetype 은 sort 할 수 없다는 오류가 떳습니다. 인터넷을 뒤져서 sorted(os.listdir()) 로 원하는 결과는 얻었습니다. 다만, 왜 안되는지는 정확히 알 수 없었습니다. 알게 되면 글 내용을 업데이트하겠습니다. 추정하기로는 iterable 한 객체가 os.listdir() 에서 반환되고 있고, .sort() 는 이를 지원하지 못하고 sorted() 는 이를 지원할 수 있다?? 정도인데 절대로 사실이 아닐 확률이 높을 수 있으니 이유는 각자 찾아보시기 바랍니다.
[python3] 파일 목록 정렬해서 가져오기기록용으로 남깁니다. os.listdir() 함수로 파일 목록을 가져왔는데 정렬이 되어 있지 않았습니다. 이름대로 반환되는 결과물이 리스트일꺼라고 생각하고 os.listdir().sort() 를 호출했는데 Nonetype 은 sort 할 수 없다는 오류가 떳습니다. 인터넷을 뒤져서 sorted(os.listdir()) 로 원하는 결과는 얻었습니다. 다만, 왜 안되는지는 정확히 알 수 없었습니다. 알게 되면 글 내용을 업데이트하겠습니다. 추정하기로는 iterable 한 객체가 os.listdir() 에서 반환되고 있고, .sort() 는 이를 지원하지 못하고 sorted() 는 이를 지원할 수 있다?? 정도인데 절대로 사실이 아닐 확률이 높을 수 있으니 이유는 각자 찾아보시기 바랍니다.
2022.08.18 -
고쳐쓰는 대상 커밋 순서 커밋 저자 커밋 일시 사전 작업 수정 가능 여부 확인 다른 작업자와 공유된 저장소이면 다음 여부를 확인하기 이미 공유(push)된 커밋이면 절대 고치지 않습니다!!. 그래도 고쳐야 한다면 다른 작업자의 현재 작업 내용을 수동으로 백업해놓고, 이 수정 작업 수행 후, 현재 저장소를 삭제(또는 백업)하고 저장소를 새로 내려받고 나서 이전 백업 내용을 복원해야 합니다. 차라리 되돌려야 하는 부분이 있다면 revert 명령을 활용하세요. 수정한 본인 제외하고 모두가 꼬입니다... 아직 공유되지 않은 커밋이라도 수정 작업 중에 반영된 내용으로 이 후 커밋들과 충돌이 발생해서 회복하기 힘들게 꼬일 수 있습니다. 현재 수정하는 부분이 이 후 커밋에서 다르게 수정된 경우 파일 추가 삭제 등으로..
[git] 이미 발행된 커밋 고쳐 쓰기고쳐쓰는 대상 커밋 순서 커밋 저자 커밋 일시 사전 작업 수정 가능 여부 확인 다른 작업자와 공유된 저장소이면 다음 여부를 확인하기 이미 공유(push)된 커밋이면 절대 고치지 않습니다!!. 그래도 고쳐야 한다면 다른 작업자의 현재 작업 내용을 수동으로 백업해놓고, 이 수정 작업 수행 후, 현재 저장소를 삭제(또는 백업)하고 저장소를 새로 내려받고 나서 이전 백업 내용을 복원해야 합니다. 차라리 되돌려야 하는 부분이 있다면 revert 명령을 활용하세요. 수정한 본인 제외하고 모두가 꼬입니다... 아직 공유되지 않은 커밋이라도 수정 작업 중에 반영된 내용으로 이 후 커밋들과 충돌이 발생해서 회복하기 힘들게 꼬일 수 있습니다. 현재 수정하는 부분이 이 후 커밋에서 다르게 수정된 경우 파일 추가 삭제 등으로..
2022.07.26 -
라 쓰고 간단한 나만의 해결 기록이라 읽음.. 그냥 pip3 로 opencv-python 을 설치하거나 opencv-contrib-python, opencv-python-headless 등의 패키지로는 전혀 해결이 안되었습니다. import cv2 만 실행해도 오류가 발생했었거든요... (venvimg) D:\Users\JHG\Documents\work\wiznet\project\SKP\ARHIS\AI\30034>python3 -c "import cv2" Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'cv2' (venvimg) D:\Users\JHG\Documents\work\wizne..
[python3][opencv][windows 10]개발 환경 구축하기라 쓰고 간단한 나만의 해결 기록이라 읽음.. 그냥 pip3 로 opencv-python 을 설치하거나 opencv-contrib-python, opencv-python-headless 등의 패키지로는 전혀 해결이 안되었습니다. import cv2 만 실행해도 오류가 발생했었거든요... (venvimg) D:\Users\JHG\Documents\work\wiznet\project\SKP\ARHIS\AI\30034>python3 -c "import cv2" Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'cv2' (venvimg) D:\Users\JHG\Documents\work\wizne..
2022.07.22 -
기록용으로 남깁니다. 윈도우 서버에서 파일 업로딩이 급할 때 쓸 수 있는 http file server 라는 프로그램이 있습니다. 문제는 이 프로그램이 공유기 상의 포트포워딩을 사용하는 환경에서 잘 동작하지 않습니다. 제공되는 웹페이지에 직접 들어가서 하나 하나 업로드하는 것은 가능하지만 클라이언트 쪽에서 curl 등을 통해 자동 업로드 하는 데에는 문제가 있었습니다. 공유기의 DMZ 기능을 쓸 수 있는 상황도 아닙니다. 인증이 필요없이 잠깐 열었다 닫는 파일 업로딩 용도이고, cli 상에서 실행 가능하여 자동화할 수 있어야 하며, 파일 이름을 변경할 수 있는 기능(원본 aa.png 를 1111-aa.png 로 변경)까지 제공되야 하고, 공유기 환경에서도 동작해야하는데, 그 기능들을 모두 만족하는 프로그..
[python] 파일 업로딩용 http 서버 예제기록용으로 남깁니다. 윈도우 서버에서 파일 업로딩이 급할 때 쓸 수 있는 http file server 라는 프로그램이 있습니다. 문제는 이 프로그램이 공유기 상의 포트포워딩을 사용하는 환경에서 잘 동작하지 않습니다. 제공되는 웹페이지에 직접 들어가서 하나 하나 업로드하는 것은 가능하지만 클라이언트 쪽에서 curl 등을 통해 자동 업로드 하는 데에는 문제가 있었습니다. 공유기의 DMZ 기능을 쓸 수 있는 상황도 아닙니다. 인증이 필요없이 잠깐 열었다 닫는 파일 업로딩 용도이고, cli 상에서 실행 가능하여 자동화할 수 있어야 하며, 파일 이름을 변경할 수 있는 기능(원본 aa.png 를 1111-aa.png 로 변경)까지 제공되야 하고, 공유기 환경에서도 동작해야하는데, 그 기능들을 모두 만족하는 프로그..
2022.04.12 -
보통 여러 개 원소 지정할 때 마지막에 쉼표를 붙이던게 버릇이 되서 발생한 실수를 기록용으로 남깁니다... def writebuffer(bufidx): pass def abcd(): buflen = 0 t1 = threading.Thread(target=writebuffer, args=(buflen,)) 이 코드를 실행하면 제목과 같은 오류가 발생합니다. 뭐가 잘못일까 하고 전체 코드를 주석처리해보고 하다가 (buflen,) 때문에 발생한 것을 알게 되었습니다. Thread 함수에 파라미터가 한 개인 함수를 부를 때는 그저 args=(var) 하면 되었을 것을... 이것으로 소비한 시간이 너무 길어서 허탈하네요.
[python] SystemError: new style getargs format but argument is not a tuple 오류보통 여러 개 원소 지정할 때 마지막에 쉼표를 붙이던게 버릇이 되서 발생한 실수를 기록용으로 남깁니다... def writebuffer(bufidx): pass def abcd(): buflen = 0 t1 = threading.Thread(target=writebuffer, args=(buflen,)) 이 코드를 실행하면 제목과 같은 오류가 발생합니다. 뭐가 잘못일까 하고 전체 코드를 주석처리해보고 하다가 (buflen,) 때문에 발생한 것을 알게 되었습니다. Thread 함수에 파라미터가 한 개인 함수를 부를 때는 그저 args=(var) 하면 되었을 것을... 이것으로 소비한 시간이 너무 길어서 허탈하네요.
2022.01.13 -
기록용으로 남깁니다. #!/usr/bin/env bash readarray -t arr < logging_2021-11-18_14.log #for i in ${arr[@]}; do for (( i=0; i
[bash] 파일에서 줄단위로 읽어서 한줄씩 처리하기기록용으로 남깁니다. #!/usr/bin/env bash readarray -t arr < logging_2021-11-18_14.log #for i in ${arr[@]}; do for (( i=0; i
2021.11.18 -
기록용으로 남깁니다. 참고로 환경은 Ubuntu 20.04 입니다. make menuconfig 명령이 실행이 안되어서 확인해보니 제목과 같은 오류가 떠 있었고, 분명 ncurses 관련 패키지들이 설치되어 있음에도 불구하고 해당 오류가 뜨고 있었습니다. 구글을 뒤지다 보니 12.04 환경에서 비슷한 경험을 한 글이 있었습니다. 내용을 보니 설치된 패키지들은 64비트이고 32비트 라이브러리를 의존하는 프로그램은 해당 오류가 나올 수 있으니 해당 라이브러리를 설치해라고 설명이 되어 있었습니다. apt search ncurses 로 ncurses5* 과 libncurses5 관련 내용 중 설치 안되어 있는 것을 확인해서 그 중 하나를 설치했더니 문제가 해결되었습니다. sudo apt install libnc..
오류 error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory기록용으로 남깁니다. 참고로 환경은 Ubuntu 20.04 입니다. make menuconfig 명령이 실행이 안되어서 확인해보니 제목과 같은 오류가 떠 있었고, 분명 ncurses 관련 패키지들이 설치되어 있음에도 불구하고 해당 오류가 뜨고 있었습니다. 구글을 뒤지다 보니 12.04 환경에서 비슷한 경험을 한 글이 있었습니다. 내용을 보니 설치된 패키지들은 64비트이고 32비트 라이브러리를 의존하는 프로그램은 해당 오류가 나올 수 있으니 해당 라이브러리를 설치해라고 설명이 되어 있었습니다. apt search ncurses 로 ncurses5* 과 libncurses5 관련 내용 중 설치 안되어 있는 것을 확인해서 그 중 하나를 설치했더니 문제가 해결되었습니다. sudo apt install libnc..
2021.11.05 -
기록용으로 남깁니다. 파이썬이 실행되어 생성되는 *.pyc 파일에는 사용된 파이썬 버전 정보가 파일 맨 처음 4바이트에 저장되어 있습니다. 보통은 bad magic number 등의 문제가 생기면 *.pyc 파일을 지우고 재생성하면 되는데 그렇지 못한 상황을 위해 기록으로 남깁니다. 문제가 되는 pyc 파일의 첫 4바이트를 little endian 으로 직접 읽어서 확인하셔도 되고, 정상적으로 접근 가능한 환경이 있는 경우에는 코드로 확인하셔도 됩니다. # python 2.x 대 import imp imp.get_magic().encode('hex') 'd1f20d0a' # python 3.x 대 import importlib importlib.util.MAGIC_NUMBER.hex() '420d0d0a..
[python] magic number기록용으로 남깁니다. 파이썬이 실행되어 생성되는 *.pyc 파일에는 사용된 파이썬 버전 정보가 파일 맨 처음 4바이트에 저장되어 있습니다. 보통은 bad magic number 등의 문제가 생기면 *.pyc 파일을 지우고 재생성하면 되는데 그렇지 못한 상황을 위해 기록으로 남깁니다. 문제가 되는 pyc 파일의 첫 4바이트를 little endian 으로 직접 읽어서 확인하셔도 되고, 정상적으로 접근 가능한 환경이 있는 경우에는 코드로 확인하셔도 됩니다. # python 2.x 대 import imp imp.get_magic().encode('hex') 'd1f20d0a' # python 3.x 대 import importlib importlib.util.MAGIC_NUMBER.hex() '420d0d0a..
2021.10.05