IT/python 48

[python] json dump/dumps/load/loads 구분하기

대충 이해하고 쓰다가 오랜만에 소스를 보니 헷갈립니다.개인적으로 정리할 목적으로 글을 남깁니다. json.dumpjson.dumpsdump 계열은 파이썬의 객체(dict 등)를 다른 형태로 변환합니다.dump 함수는 파이썬 객체를 스트림 객체(파일 등)로 변환합니다.dumps 함수는 파이썬 객체를 한줄의(직렬화된) json 문자열로 변환합니다.오류Expecting value: json.loadjson.loadsload 계열은 대상을 파싱해서 파이썬의 객체(dict 등)로 변환합니다.load 함수는 스트림 객체(파일 등)에서 데이터를 읽어 파이썬 객체(dict 등)로 변환해줍니다.loads 함수는 json 문자열을 파싱해서 파이썬 객체로 변환해줍니다.오류Expecting value: line 1 colum..

IT/python 2020.09.07

[python] Popen 을 통해 dict 주고 받기

Popen 을 사용해서 하위 프로세스를 생성하는 구조인데 단순 데이터만 주고 받는 것을 상정하다가 사전 구조인 dictionary 데이터를 주고 받으려니 삽질을 길게 하게 되네요.. from subprocess import Popen, PIPE import json ...(중략)... for proc in self.list: proc = Popen(['python3', proc.name], stdin=PIPE, stdout=PIPE) ...(중략)... for proc in self.list: proc.stdin.write('hi kids\r\n'.encode()) proc.stdin.flush() 원래는 이런 구조였습니다. 하지만 write 하는 곳에서 dict 형태의 데이터를 넘겨야 할 필요가 생겼을..

IT/python 2020.08.12

[python] 설치된 패키지 확인

importlib.lib.find_spec() 을 사용해서 지정된 이름의 파이썬 모듈이 존재하는지 확인할 수 있습니다.def isPythonModuleInstalled(name:str) -> bool: import importlib.util spec = importlib.util.find_spec(name) if spec is None: return False else: return True다음과 같이 쓰면 False 가 반환되야 합니다. 파이썬 모듈로 vim은 없으니깐요print(isPythonModuleInstalled('vim'))더 자세한 방법은 이 글을 참고하시기 바랍니다.

IT/python 2020.07.29

[python] 서로 다른 경로에 있는 모듈 import 하기

요새는 파이썬을 만지고 있습니다.초짜이다 보니 삽질하면서 적응해가고 있는데 내가 만든 모듈을 불러들여야 하는데 안불러지는 경우가 발생했습니다.대략 다음과 같은 폴더 구조입니다. aa.py 에서 bb.py 가 필요한데.. from dirB import bb.py 하니까 없는 모듈이라고 뜹니다..찾아보니 파이썬의 from, import 는 현재 위치 기준 상대경로로 인식된다고 합니다. 그래서 sys.path 에 절대경로 값을 추가해 준 다음 import 를 해야 하는 상황입니다.답만 나열하자면 aa.py 에서 bb.py 가 필요한 시점에 다음과 같이 작성했습니다.import os, sys# 프로젝트 root\dirB를 import 참조 경로에 추가sys.path.append( os.path.join(os.p..

IT/python 2020.07.22

[python][ubus] failed to connect to the "ubus" socket var/run/ubus.sock

부끄럽지만 기록용으로 남겨둡니다.제목과 같은 오류는 오류 메시지를 잘 살펴보시면 경로가 맞는 것 같지만 나사가 하나 빠져 있습니다./var/run/ubus.socket 이 되어야 정상적으로 찾아들어가는데 슬래쉬 / 를 빼먹어서 발생한 문제입니다.졸릴 때는 잠시 키보드에서 손을 내려놓고 잠을 깬 뒤 다시 시작합시다!!

IT/python 2020.07.02

VSCode 상에서 이미 설치된 모듈을 찾을 수 없다고 할 때 해결 방법

어쩌다 보니 파이썬 프로젝트를 수정하는게 업무로 떨어졌습니다.파이썬 개발 환경을 검색하여 구축하였는데.. 그 과정 중에 Visual Studio Community 상에서 python 환경을 선택했다가 회사 상황이 community 버전을 쓸 수 없는 상황이어서 이를 포기하고 Visual Code 를 설치하고 파이썬 extension 을 설치했습니다.파이썬 프로젝트를 clone 해서 Run/Start Debug 메뉴 또는 F5 키로 실행을 시키는데 PyQt5 모듈을 찾을 수 없다는 메시지가 뜹니다!! 그래서 원래 이 프로젝트 관련된 분에게 물어보니 requirements.txt 라는 파일이 있고 여기에는 의존 모듈이 있으니 다음 명령으로 의존 명령을 설치하면 잘 될거라고 합니다.pip install -r ..

IT/python 2020.06.04