Python/이것저것 파이썬
-
PyInstaller -i, --add-data로 아이콘(icon)을 포함하자Python/이것저것 파이썬 2021. 12. 4. 12:36
[참고] tistory 코드의 가독성을 높이는 법 소스와 아이콘이 같은 폴더에 있을 때,tkinter를 이용한 코드입니다.import osif os.path.isfile('foo.ico'): self.root.iconbitmap('foo.ico')코드를 실행하면,정상적으로 아이콘을 볼 수 있지만파이 인스톨러로 만든 실행파일을 실행하면, 아이콘 대신 나뭇잎만 보입니다. :onefile 옵션을 사용하지 않았을 때는ico 파일을 새로 만들어진 폴더에 따로 복사하면 아이콘을 볼 수 있습니다. 하지만, --onefile 옵션을 사용할 때는, (따로 복사할 수 없기 때문에)실행 파일에 아이콘 파일을 포함해야 합니다. '--onefile'은, 실행에 필요한 파일과 폴더를 모아하나의 '자동 실행 압축 파일'을 ..
-
tkinter 인터넷의 이미지를 출력Python/이것저것 파이썬 2021. 11. 30. 05:45
이미지를 파일로 저장하지 않고 base64로 변환한 뒤 출력한다. 내장 라이브러리만 이용해서 간편하게... PIL을 이용해도 좋겠지만... """ Tk_Canvas_Image_url.py display an image obtained from an internet web page in Tkinter tested with Python33 by vagaseat 21nov2012 """ import base64 import tkinter as tk from urllib.request import urlopen root = tk.Tk() root.title("display a website image") # a little more than width and height of image w = 520 h = 3..
-
파이썬 for 문에서, 언패킹에서 underscorePython/이것저것 파이썬 2021. 11. 29. 21:34
파이썬 커뮤니티에서 아래 코드에서 roll_num의 의미에 대해 질문이 올라왔더군요. from random import randint def roll(): return randint(1, 6) def main(): results = [] for roll_num in range(10): result = roll() results.append(result) print(results) main() 위 코드에서 roll_num 은 의미 없는 변수입니다. 언더스코어('_', under score, 언더바)로 바꿔주는 게 더 좋습니다. 뒤에 사용되지 않지만 비워둘 수 없는 변수에는 관례적으로 '_'를 사용합니다. from random import randint def roll(): return randint(1, ..
-
tkinter로 qrcode 출력Python/이것저것 파이썬 2021. 11. 19. 14:44
구글링 해보니 pyqrcode를 사용한 코드들이 많이 보이던데요. https://stackoverflow.com/questions/69240727/create-a-qrcode-using-tkinter pyqrcode는 2016년 이후 업데이트가 없었습니다. https://pypi.org/project/PyQRCode/#history 2021년에도 꾸준히 업데이트되고 있는 'qrcode'라는 라이브러리가 있더군요. https://pypi.org/project/qrcode/#history qrcode와 tkinter를 같이 사용하는 법을 구글링 해보았으나 찾기 힘든 검색어 조합이라 그런지 찾을 수 없었습니다.... qrcode 파일을 생성하는 방법만 있더군요... 그래서 직접 해결을 했습니다. 별로 어렵지 ..
-
파이썬으로 이메일(gmail) 보내기..Python/이것저것 파이썬 2021. 11. 14. 20:03
페이스북 코딩 모임에 올라온 글. 이름, 이메일, 쿠폰 번호가 들어있는 다음 CSV 파일을 이용해 이메일을 보내는 코드를 작성하십시오. 단. 파이써닉하게~! 재미있을 것 같아서... 한 번 작성해 보았습니다. list.csv 1,김씨,kim@test_email.com,1111 2,이씨,lee@test_email.com,2222 3,정씨,jung@test_email.com,3333 1. 답답한 스타일입니다. 딕셔너리나 리스트에 CSV파일의 데이터를 넣은 뒤 메일을 보냅니다. * gmail을 이용하려면, 구글 계정의 보안 수준이 낮은 앱 허용을 체크해야 합니다. * 코드 내의 비밀번호 유출 주의~! from csv import reader from email.mime.text import MIMEText f..
-
tkinter를 class와 함께 사용하면 image가 사라져요.Python/이것저것 파이썬 2021. 11. 10. 08:01
Without Class 클래스를 쓰지 않으면 이미지가 잘 출력됩니다. (JPEG 파일은 지원하지 않으니 PNG나 GIF를 이용합니다.) from tkinter import * root = Tk() root.title('컴닥') root.geometry('640x480') image = PhotoImage(file='test.png') # jpeg 파일은 지원하지 않습니다. label = Label(root, image=image, relief='sunken') label.pack() root.mainloop() With Class 같은 코드를 클래스로 옮겨 봅니다. from tkinter import * class App: def __init__(self, root): image = PhotoImage..
-
파이썬 Tkinter 가볍게 시작하기Python/이것저것 파이썬 2021. 11. 10. 08:01
2줄의 코드로 시작합니다. from tkinter import * Tk().mainloop() 임포트 문에 *을 사용하는 것은 일반적으론 추천되지 않습니다. 하지만, GUI 프로그래밍에는 임포트할 것들이 너무 많습니다. 파이썬 공식 tkinter 문서에도 *가 사용됩니다. GUI 객체와 루프를 돌려주는 메서드만 있으면 창을 볼 수 있습니다. 코드를 나눠볼까요? from tkinter import * root = Tk() root.mainloop() Tk 클래스에서 root라는 인스턴스를 만들고, root 인스턴스의 루핑 메서드를 실행합니다. root 인스턴스 설정 from tkinter import * root = Tk() root.title('컴닥') root.geometry('640x480') roo..
-
파이썬 + SQLite 사용 후 몇 가지 기록Python/이것저것 파이썬 2021. 11. 4. 10:09
당연한 이야기 몇 가지 기억을 위해 남깁니다. 0. commit 데이터를 조작하는 INSERT, REPLACE, DELETE 등의 명령은 커밋이 필요합니다. 오토 커밋도 가능 하지만... from sqlite3 import connect DB = 'test.sqlite3' def query_and_commit(sql): """ INSERT, REPLACE, DELETE ... """ with connect(DB) as conn: cur = conn.cursor() cur.execute(sql) conn.commit() # commit def query(sql): """ SELECT ... """ with connect(DB) as conn: cur = conn.cursor() yield from cur...