1. 파일 입출력(3월 17일 연장)
1-1. 표준 출력 전환
-> 로그, 에러 등을 기록할 때 활용 가능하다
1-2. 다른 자료형의 파일 입출력
-> 기존 파일 입출력은 단순 텍스트만 파일로 입출력 가능
-> 다른 자료형의 '형태'를 그대로 유지하면서 파일저장을 위해 pickle 모듈 활용
-> pickle 모듈로 파일을 저장할 때는 바이너리형식으로 입출력해야 한다(wb, rb모드)
-> 파이썬의 모든 객체들을 그대로 저장 가능
2. 파일 및 디렉토리 다루기
2-1. 파일 다루기
-> listdir (해당 디렉토리에 있는 파일들 나열)
-> rename (파일 이름 변경)
-> os.path.exists (파일 유무 확인)
* 내가 지금 작업하는 경로를 기준 (상대경로)
* 루트를 기준으로 하는 경로 (절대경로)
-> path.abspath (파일 유무와 상관없이 절대경로 반환)
-> basename, dirname, split 함수 (각각 파일명만, 경로만, 경로와 파일명 반환)
-> splitdrive, splitext (경로에서 드라이브, 확장자를 분리) (주로 저장된 드라이브가 다르거나 확장자가 다를경우 사용)
2-2. 디렉토리 다루기
-> getcwd() (현재 작업중인 디렉토리 반환)
-> mkdir() (새로운 폴더 생성)
연습문제
표준출력을 파일로 변경해서 구구단의 원하는 단을 파일에 저장하는 코드 작성
Qt Designer
리눅스 터미널에서 designer 입력
Main Window 생성 - Containers 의 Tab widget 등록 후 화면에 맞춘다
속성 - currentTabText에서 Tab1의 텍스트 변경
좌측의 Label 등록 후 원하는 사진 다운로드(리눅스 자체 또는 winscp) - Label 클릭 후 TextFormat - RichText 선택 후 pixmap에서 그림파일 선택
해당 ui 파일을 파이썬 작업 디렉토리에 저장
이제 Pycharm에 들어간 후 pyuic5 main.ui -o main.py 명령 (pyuic5는 만든 ui를 py파일로 변환시키는 명령어)
오류날 경우 sudo apt install pyqt5-dev-tools 명령 (설치)
좌측의 main.py 클릭 시 아래같이 변환된 코드 확인
소스코드를 확인한 후 Terminal에 pip install pyqt5 입력한 후 설치
settings - python interpreter 에서 pyqt5 설치 확인
이 탭을 Run 해준 후 아래와 같이 작성한다. (designer에서 작업한 소스코드를 얻었으므로 이를 실행시키기 위한 코드를 작성한 것이다.)
Label, TextEdit, LineEdit(echoMode-Password 설정), Plain Text Edit 활용해서 아래와 같이 만든다.
저장 후 pycharm에서 똑같이 Terminal에서 pyuic5를 실행한다.
이제 실행버튼을 눌렀을 때 반응을 나타내기 위해 일단은 소스코드에 아래와 같이 추가한다.
Run 한 후 MainWindow의 실행버튼을 누르면 아래 Run 탭에 결과가 나오게 됨
이제 버튼을 눌렀을 시 이벤트를 발생시키기 위해 def clickExec(self): 부분을 추가수정한다.
연습문제
1. 아이디와 비밀번호가 일치할 시 PlainText에 구구단을 출력하고, 버튼을 누를때마다 초기화되게 해라
-> 구구단을 출력하는 함수를 따로 만든 뒤, 아이디와 비밀번호가 일치할 시의 if문에 구구단 출력 함수를 self.gugudan()으로 불러온다.
2번째 방법
우선 메모장에 구구단을 작성하고, 이 것을 PlainTextEdit에 불러오는 방법을 해본다
https://wikidocs.net/35492 - 함수 관련 페이지 참고
2. 사용자와 암호를 입력하고 PlainText에 내용을 적은 후, 전송시킬 파일이름을 적은 후 전송버튼을 누르면 해당 파일에 내용이 입력되게 하라
'ㄴ Python' 카테고리의 다른 글
4월 1일 (EVE - Ubuntu 연동 -> eve 장치의 설정들 가져오기) (0) | 2022.04.01 |
---|---|
3월 21일 (가상 Win10 접속해 파이썬 설치) (0) | 2022.03.21 |
3월 17일 (파이썬 파일입출력, EVE환경 구성) (0) | 2022.03.17 |
3월 16일 (파이썬 자료형, 구구단만들기) (0) | 2022.03.16 |
3월 15일 (파이썬 연산자) (0) | 2022.03.16 |