python(55)
-
Python 채팅 프로그램
코드가 있으니 별다른 설명은 필요 없을것 같다. 다수의 클라이언트를 지원한다. 클라이언트에서 메시지를 보내면 서버가 받고 다시 클라이언트로 응답한다. 한번에 최대 1024 bytes 메시지 까지만 지원한다. 한글 메시지는 지원하지 않는다. 서버 import socket import threading IP = '127.0.0.1' # IP PORT = 5000 # PORT def start_server_echo(conn: socket, address: tuple) -> None: """ 클라이언트 메시지를 수신하고 메시지를 다시 클라이언트에 보낸다. @param conn: socket instance @param address: tuple(IP, pid) """ print("Connection from: ..
2024.02.01 -
PyInstaller로 만든 실행파일을 Trojan 바이러스로 인식하는 문제 해결
PyInstaller로 실행파일을 만들었는데 어처구니 없게 Windows Defender가 Trojan 바이러스로 인식하고 삭제를 해 버린다. Python package는 일반적으로 pip로 설치하는데, PyInstaller는 미리 컴파일된 package를 다운받아 설치하게 되는것 같다. 미리 컴파일된 PyInstaller가 문제이기 때문에 소스를 받아서 자신의 PC 환경에 맞게 빌드를 해야 문제가 해결된다. PyInstaller는 www.pyinstaller.org/downloads.html에서 받을 수 있다.준비PyInstaller 메뉴얼을 보면 Bootloader라는 항목이 있는데 이걸 자신의 환경에 맞춰 빌드를 해야 한다. 빌드하기에 앞서 반드시 Visual Studio C++ 컴파일러가 있어야..
2021.01.04 -
특정경로에 있는 package를 runtime시 import 하기
요즘 타 언어로 작성된 스크립트를 python으로 자동 변환하는 코드 작성을 틈틈히 하고 있다. 이 경우 runtime시에 특정 경로에 있는 package를 추가해야 하는 일이 있어 해결방법을 찾아보았다. import sys sys.path.append('.\\test\\01\\') from _01_Test_script import * sys.path에 package가 있는 경로를 추가한 후 import를 하면 된다.
2020.05.20 -
Python coding convention
모든 프로그래밍 언어가 그렇듯 python도 conding cenvention이 존재한다. 당연히 이대로 코딩을 한다면 좋다는 의미이다. PEP 8 -- https://www.python.org/dev/peps/pep-0008/ 들여쓰기 Space 4칸으로 지정한다. 참고로 나는 절대로 tab을 사용하지 않는다. Space와 tab을 혼용해서 사용해서는 안된다. # Aligned with opening delimiter. foo = long_function_name(var_one, var_two, var_three, var_four) # Add 4 spaces (an extra level of indentation) to distinguish arguments from the rest. def long_..
2020.02.25 -
Tkinter로 만드는 스마트카드 통신 프로그램 - 5
이전글: Tkinter로 만드는 스마트카드 통신 프로그램 - 4 목표1. 상호인증(mutual authentication) 기능 추가2. 상호인증 후 GET STATUS command를 이용하여 card content들을 treeview에 표시 특이사항1. GlobalPlatform 관련 소스는 공개하지 않음. 2. Treeview에 item 관리하는 부분이 효과적인지 모르겠음. 소스코드main.py# imports# Use Tkinter for python 2, tkinter for python 3import tkinter as tkimport scm if __name__ == '__main__': root = tk.Tk() scm.MainPage(root) root.mainloop() # Start ..
2017.08.18 -
Tkinter로 만드는 스마트카드 통신 프로그램 - 4
이전글: Tkinter로 만드는 스마트카드 통신 프로그램 - 3 목표1. Menu 추가함.2. 기존 코드를 패키지화 할 것.3. 상호인증(mutual authentication) UI 추가. 특이사항1. 패키지화 하면서 __init__.py를 추가함. 소스코드main.py# imports# Use Tkinter for python 2, tkinter for python 3import tkinter as tkimport scm.scm_frames as scmf if __name__ == '__main__': root = tk.Tk() scmf.MainFrame(root).pack(side='top', fill='both', expand=True) root.mainloop() # Start GUI scm/_..
2017.08.04