Python
-
[PyQt5] QSqlQuery::value: not positioned on a valid recordPython/PyQt5 2022. 1. 9. 00:53
sql = "SELECT note, rating FROM data WHERE id=1234" query = QSqlQuery(sql) query.first() print(query.value(0)) print(str(query.value(1)) 데이터가 없는 데 query.first() 등을 실행할 때 value: not positioned on a valid record 경고가 발생한다. 작동은 되지만 보기 좋지 않다. sql = "SELECT note, rating FROM data WHERE id=1234" query = QSqlQuery(sql) if query.first(): print(query.value(0)) print(str(query.value(1)) 이렇게 if문으로 처리해 주면 깔끔..
-
[PyQt5] webbrowser openPython/PyQt5 2022. 1. 8. 21:37
Python에는 webbrowser 라이브러리가 있어, 다음과 같이, 쉽게 웹 브라우저를 실행할 수 있다. >>> import webbrowser >>> webbrowser.open('comdoc.tistory.com/') False >>> webbrowser.open('https://comdoc.tistory.com/') True * http[s]:// 로 시작해야 한다. QT에도 같은 기능이 있는데.... from PyQt5.Qt import QDesktopServices, QUrl url = QUrl('https://comdoc.tistory.com/') QDesktopServices.openUrl(url) 임포트 문의 깔끔함을 위해서 기억해도 좋을 것 같다..
-
[Python, Sqlite] 딕셔너리(사전형)로 row 바로 받기Python/이것저것 파이썬 2021. 12. 23. 13:32
[Python, Sqlite] 딕셔너리(dict, dictionary)로 row 바로 받기 https://docs.python.org/3/library/sqlite3.html#row-objects import sqlite3 con = sqlite3.connect(':memory:') cur = con.cursor() cur.execute( ''' create table stocks (date text, trans text, symbol text, qty real, price real) ''' ) cur.execute( '''insert into stocks values ('2006-01-05','BUY','RHAT',100,35.14)''' ) con.commit() cur.close() con.row_..
-
[파이썬] 2차원 리스트, 곱하기 VS 리스트 컴프리헨션Python/이것저것 파이썬 2021. 12. 22. 22:21
모 코딩 커뮤니티에 올라온 질문에 달았던 답변을 정리했습니다. n = 2 g1 = [[0] * (n + 1)] * (n + 1) g1[1][2] = 1 print(g1) # [[0, 0, 1], [0, 0, 1], [0, 0, 1]] 곱하기로 2차원 리스트를 만들면, 리스트는 참조(reference)로 복사된 것을 볼 수 있습니다. 실제론 같은 객체란 이야기죠. 하나에 1을 넣었는데 3개에 1이.... n = 2 g2 = [[0 for _ in range(n + 1)] for _ in range(n + 1)] g2[1][2] = 1 print(g2) # [[0, 0, 0], [0, 0, 1], [0, 0, 0]] 리스트 컴프리헨션(list comprehension)을 사용해서 2차원 리스트를 만들면, 리..
-
파이썬에서 주소 다루기Python/이것저것 파이썬 2021. 12. 12. 01:03
1만 6천 개의 장소(주소)와 주민등록인구의 비율을 찾는 비교적 간단한 프로젝트를 최근 진행했다. 간단하게 요약해 보겠다. 앞으로도 주기적으로 추적 조사해야 하기 때문에 최대한 자동화 하려고 노력했... 1. 법정동 VS 행정동 1) 인구는 행정동 기준 주민등록인구는 행정안전부에서 찾을 수 있었고... https://jumin.mois.go.kr/ 행정동 기준으로 정리되어 있었다. 2) 원 데이터(주소)는 법정동 기준 동에는 법정동과 행정동이 있는데, 행정동은 주민자치센터(동사무소)를 기준으로 하는 동이고, 법정동은 서류, 주소에 사용되는 동이다. https://www.yna.co.kr/view/AKR20180521134900061 법정동은 인구가 없는 곳까지 정의되어 있으니... 인구는 행정동 기준으로..
-
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..