전체 글 621

[30-2 파이썬] 예외처리, try, except, else, finally

에러가 발생해버리면, 코드가 진행되지 않고 그대로 멈춘다. 이런 경우를 대비해서 예외처리를 한다. 예외처리란, 실제 에러가 나기 전에 에러가 발생할 상황을 예측하고, try, except, else, finally 구문을 이용해 어떤 조치를 취하고 나면 에러가 있는 코드라도 실제 에러가 발생하지 않고, 계속 코드를 진행할 수 있다. try: except: else: finally: try: sth that might cause an exception '예외를 유발할 가능성이 높은 코드'를 실행한다는 뜻이다. 그런데 이것은 가능성이 높다는 의미이기 때문에 작동을 할 수도, 작동을 하지 않을 수도 있다. except: do this if there was an exception 만약 위의 try구문에서 에러..

[30-1 파이썬] 예외의 종류 FileNotFoundError, KeyError, IndexError, TypeError

에러의 종류에는 FileNotFoundError, KeyError, IndexError, TypeError가 있다. 1. FileNotFoundError 파일을 찾을 수 없음 : [Errno 2] No such file or directory: 'new_file.txt' with open("new_file.txt") as file: file.read() V 해결방법 - 해당 파일경로에 파일이 존재하는지 체크 - 파일 이름 체크 V 예외처리 try: file= open("new_file.txt") except: print("에러가 있습니다") file = open("real_file.txt","w") file.write("Success!") else: file.read() finally: file.clos..

[29-2 파이썬] tkinter 패스워드 매니저 만들기

tkinter를 이용해서 웹사이트, 아이디, 비밀번호를 저장하여 필요할 때마다 확인할 수 있는 나만의 패스워드 매니저를 만들어보자. 1. tkinter기본 window만들기 mainloop() : 화면 꺼지지 않고, 계속 작동하도록 하기 from tkinter import * window = Tk() window.mainloop() 2. 제목: my password manager title() : 화면 창 맨 위, 바에 제목 적기 window.title("my password manager") 3. 캔버스 만들기, 가로:200, 높이:200 Canvas(width, height) : 캔버스 클래스 놓기. 안에 여러 컴포넌트를 놓을 수 있으며, 폭과 높이를 지정하기 canvas = Canvas(width=..

[29-1 파이썬] tkinter grid 격자 관련 팁, columnspan, rowspan

오늘은 grid 관련하여 열과 행을 정하는 방법을 소개하겠다. 설명을 위해 기본 세팅을 하고, 열과 행 위치를 살펴보자. from tkinter import * window= Tk() r = Label(bg="red", width=30, height=10) r.grid(row=0, column=0) y= Label(bg="yellow", width=30, height=10) y.grid(row=1, column=1) p = Label(bg="purple", width=30, height=10) p.grid(row=2, column=0) window.mainloop() 만약 여기에서 보라색을 아래 두칸을 모두 확장하고 싶다면 어떻게 해야할까? width를 두 배로 늘려보자. p = Label(bg="pur..

[28-6 파이썬] tkinter 타이머 만들기, after_cancel() (최종)

28번째 기록은 tkinter로 타이머 만들기이다. 이제까지의 코드에 대한 설명과 과정은 28-1~28-5를 참고하면 된다. 오늘은 타이머를 커스터마이징해보자. 아래와 같이 타이머를 연속으로 작동한다고 하자. 총 8회기 카운트 다운 1회 1: 20분 2: 5분 2회 1: 20분 2: 5분 3회 1: 20분 2: 5분 4회 1: 20분 2: 25분 이렇게 코드를 짜면 에러가 발생한다. 중간 회기의 카운트 다운은 화면에 보이지 않고, 마지막 회기 카운트 다운만 보인다. def start_timer(): global reps while reps 타이머를 정지한다. def reset(): window.after_cancel(timer) reset버튼을 누르면 카운트다운이 멈추게 한다. button_reset =..