프로그래밍/Python 2022년 03월 26일 02:12 [Python] 문자열 한줄씩 읽기 drift professional midnight scatter relevance visit . . . (생략) 다음과 같은 단어 사전을 C++ vector에 하드코딩으로 집어 넣어야 하는 상황이 생겼습니다. 하나씩 콤마찍고 쌍따옴표 넣기는 너무 귀찮죠? 이럴때 파이썬을 이용해서 한번 똑똑하게 바꿔봅시다. dic = """ drift professional midnight scatter relevance visit """.strip() lst = dic.split('\n') print(lst) >>> ['drift', 'professional', 'midnight', 'scatter', 'relevance', 'visit'] """ 를 활용해서 문자열을 전체적으로 넣고 양끝 공백을 strip() 으로 지..
프로그래밍/Python 2022년 02월 03일 00:48 [Python] *** is deprecated and will be removed from ***!!!! 파이썬 2 에서 파이썬 3 올라갈때만 해도 C++이랑 다르게 호환성을 버린 대신 언어 성능을 나름 극적으로 개선했었죠. 이제 파이썬 3 에서 버전 업그레이드가 있을때마다 잘 작동하던 모듈(라이브러리)이 펑펑 터져버리는 문제가 있었는데.. 메이저한 라이브러리들은 이런 문제가 많이 없다만 라이브러리 개발자들이 일을 너무 잘해서 그런가 사용 함수 이름을 자꾸 바꾸거나 개선 시키는 바람에 저렇게 deprecated 경고가 계속 뜨네요 ㅡ.ㅡ 나중에 버전 올라가면 원래 코드는 제대로 작동도 안할태니 방침대로 바꿔줘야 하는데.. Selenium 에서 find_element_by_css_selector 대신에 find_element(By.CssSelector.... 로 바뀐건 좋은 개선이라고 생각합니다만 Pandas..
프로그래밍/Python 2022년 02월 01일 20:10 [PyQT] QLineEdit 숫자만 입력할 수 있게 하기 def set_only_int(self): self.onlyInt = QIntValidator() self.QLineEdit.setValidator(self.onlyInt) QMainWindow 가 상속되어 있는 Class에서 다음과 같이 코드 2줄 실행하면 됩니다. 저는 함수로 호출해서 함수로 묶어놨습니다. QLineEdit 부분에 사용하는 QLineEdit의 객체 이름을 입력해주세요. https://stackoverflow.com/questions/13422995/set-qlineedit-to-accept-only-numbers Set QLineEdit to accept only numbers I have a QLineEdit where the user should input only numbers...
프로그래밍/Python 2022년 01월 21일 18:34 [PyCharm] 파이참으로 파일 날렸을때 복구하는법 파이참으로 추가 작업을 진행하던 중 갑자기 인터프리터를 못찾고 맥을 못추더니 프로젝트를 다시 여니 main.py가 파이참에서 기본 제공하는 기본 py파일로 초기화 되는 불상사가 일어났습니다. 기존에 pyinstaller로 exe로 바꿔서 만들어놓은 파일과 *.pyc를 이용해 복구하려고 했는데 파이썬 버전이 높아서 안된다고 합니다.. 솔직히 멘붕이였는데 다행이 파이참에서 복구기능을 지원해서 살았습니다. 위처럼 복구할 프로젝트 위치에서 오른쪽클릭 - 로컬 기록 - 기록표시를 눌러주세요. 그러면 다음과 같이 프로젝트의 변경사향이 쭈욱 기록되어있습니다. 파이참이 무겁긴해도 그 값을 한다는게 느껴지는 기능이였네요. (사실 파이참 오작동으로 날려먹긴 한거지만요..) 어쨌든 변경 내용 이전으로 복구하니 다행스럽게도 ..
프로그래밍/Python 2022년 01월 21일 00:55 [PyQT] pyinstaller로 exe만들때 패키지가 정상적으로 포함되지 않을때 ImportError: No module named lxml 제대로 패키지를 설치했는데도 파이썬 venv 가상 환경에서 pyinstaller로 exe를 만들면 다음과 같이 패키지를 못찾는 오류가 발생했습니다. lxml을 정상적으로 삭제했는데도요. 이 문제는 pyinstaller가 exe 작업을 할때 남아있는 파일들 때문이였습니다. __pycache__ 와 build 파일을 포함해서 pyinstaller가 만들어낸 찌꺼기 파일들을 전부 삭제하고 다시 빌드하시면 패키지를 정상적으로 인식합니다.
프로그래밍/Python 2022년 01월 21일 00:30 [PyQT] pyinstaller로 윈도우 아이콘, UI, 프로그램 아이콘 전부 exe에 포함시키기 PyQT와 Qt Designer로 아이콘 및 UI를 다루는건 디버깅을 할땐 아무 문제가 되지 않습니다만 pyinstaller로 exe로 패키징 하는 과정에선 문제가 발생할 수 있습니다. UI와 아이콘 파일의 위치를 못찾는것이죠. pyinstaller에 icon 또는 i 옵션에 아이콘 파일을 제공하면 됩니다만 위 사진처럼 내부 Window에는 적용되지 않음을 알 수 있습니다. setWindowIcon() 이용해 설정하는게 저 위 아이콘인데 pyinstaller 로 패키징을 끝내면 파일을 못찾는 문제가 발생하는 것이죠. 동일하게 ui 파일도 패키징 이후에 exe에 포함되지 않아서 ui를 못찾는다는 것은 곧 창을 못연다는 뜻이고 아예 프로그램 구동이 안되게 됩니다. 아이콘의 경우 저렇게 깨진상태라도 실행이 되..
프로그래밍/Python 2022년 01월 20일 21:17 [PyQT] QTableWidget Item에 이미지와 텍스트 동시에 표시되게 하기 다음과 같이 표시하기 위해선 CustomWidget을 만들어서 Item으로 추가해야합니다. 아래 링크 참고해주세요. https://stackoverflow.com/questions/45896291/how-to-show-image-and-text-at-same-cell-in-qtablewidget-in-pyqt How to show image and text at same cell in QTableWidget in PyQt? I want to have a table with 2 or 3 columns with rows that shows image and text alongside each other in PyQt (I am using python3.5 and PyQt 5). First I chose QL..
프로그래밍/Python 2022년 01월 20일 17:08 [PyQT] QTableWidget Column 숫자도 정렬되게 하기 QTableWidget 에서 sortingEnabled 라는 속성을 True로 바꾸면 Column 을 클릭했을때 자동 정렬을 지원합니다. 저는 Qt Designer 로 작업을 하고 있어서 저렇게 QTableWidget의 Property Editor 에서 체크만 해주면 되고, 만약에 직접 하드 코딩 하고 계신 분들은 self.QTableWidget.setSortingEnabled(True) 와 같이 써주시면 될 거 같습니다. 그러나 이 정렬 기능은 문자열에만 한정된 것으로 숫자 또한 문자로 인식하기 때문에 숫자는 제대로 정렬이 되지 않습니다. 해결 방법은 QTableWidget에 아이템을 추가해줄때 숫자인걸 알려주고 추가해주면 됩니다. rowPosition = self.articleView.rowCount..