본문 바로가기

Programming

(7)
[Python] ini 파일 다루기 (읽기 / 쓰기) 다음과 같은 ini 파일이 있다고 가정하자 test.ini[Network]IP=127.0.0.1  아래는 ini 파일 읽기 / 쓰기 예시 코드 이다. 실행해본다. import configparserfile_path = r'Config.ini'config = configparser.ConfigParser() # ConfigParser 객체 생성config.optionxform=str # 대소문자 구분# Readconfig.read(file_path, encoding='UTF8')if 'Network' in config: # 섹션이 있는지 확인 print(config['Network']['IP'])# writeconfig['Network']['IP'] = "192.168.0.1"with open(pa..
[Python] 실행 중인 윈도우 title과 트레이 아이콘 이름 검색 현재 실행 중인 창의 이름과 트레이 아이콘 (윈도우 클래스) 이름 검색 import pywinauto procs = pywinauto.findwindows.find_elements(visible_only=False) # 현재 구동중인 있는 윈도우 창, 트레이아이콘 검색for proc in procs: if 'TEST' in proc.name: print(proc.name)
[Python] 프로그램 중복 실행 방지 코드 (실행 중인 프로세스 목록 확인) pyinstaller 등으로 exe 파일을 만든 경우 실행 중인 프로세스 목록을 확인하여 사용자가 중복으로 실행하지 못하도록 막아야할 때가 있다. import psutil__PROCESS_NAME__ = "TEST" # 프로그램 이름process_name_list = []for process in psutil.process_iter(attrs=['name', 'exe']): if process.info['exe'] and \ process.info['name'] == f"{__PROCESS_NAME__}.exe": process_name_list.append(process.name())if process_name_list.count(f"{__PROCESS_NAME__}.ex..
[Python] Pyinstaller 사용 시 tkcalendar 에러 문제 tkinter의 달력 위젯인 tkcalendar를 넣고 pyinstaller로 exe를 만들어 실행을 하면 동작이 되지 않는다.  이런 경우 hidden-import 옵션에서 babel.numbers 를 추가해주거나 tkcalendar를 사용하는 코드에 from babel.numbers import * 를 추가하여 빌드한다.   참고)https://stackoverflow.com/questions/57811928/how-to-install-python-application-with-tkcalendar-module-by-pyinstaller
[Python] 전달 받은 문자열이 IP 형식인지 체크하는 함수 전달받은 문자열이 IP 형식에 맞는지 확인하는 함수이다. 맞다면 True를 반환하고 틀리면 False를 반환한다. import redef check_ip_format(ip_str): ip_format = re.compile('^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$') if ip_format.match(ip_str) is not None: return True else: return False
[Python] Windows 메시지 팝업 띄우기 (MessageBox with Windows API) tkinter나 pyqt 등을 사용하지 않고 Windows API를 이용하여 메시지 팝업을 띄우고 싶다면 아래와 같은 방법을 이용한다. import win32apiwin32api.MessageBox(0, "원하는 메시지를 입력하세요.", "title", 16)import ctypesctypes.windll.user32.MessageBoxW(0, "원하는 메시지를 입력하세요.", "title", 16)  4번째 인수에 어떤 숫자를 넣느냐에 따라 X표시나 ?, ! 등이 뜨며 예/아니오 등의 선택지가 있는 팝업도 띄울 수 있다.  4번째 인수팝업 모양012345616171819202122323334353637384849505152535464656667686970 각 인수가 의미하는 바는 다음과 같다.  1) ..
[Python] Pyinstaller 사용 시 pymssql 에러 문제 pyinstaller(auto-py-to-exe)에서 pymssql 빌드 시 exe는 만들어지지만 실행 시 main script 에러가 뜨면서 동작이 되지 않는 경우가 있다. 그런 경우 hidden import 옵션에서 pymssql._mssql를 추가하거나 코드 상에 import pymssql._mssql 을 넣어서 빌드하면 문제 없이 exe가 실행된다. 참고) https://stackoverflow.com/questions/69076831/how-to-get-rid-of-the-error-ms-sql-not-found How to get rid of the error "_ms sql" not found There is a script with import pymssql. I'm trying to co..