failed to execute script ****

조회수 1648회

파이썬 파일을 exe 파일로 변경하려고 하는데, 아무리 해도 failed to executed script **이라고 뜨네요..

# _*_ coding:UTF-8 _*_
import tkinter as tk
from tkinter import ttk
from tkinter import scrolledtext
import json
import win32clipboard

#global variables
student = {}
grades = ["1학년", '2학년', '3학년', '재수', '기타']
# grade = str()
# sel1=str()
# sel2=str()
#screen
win = tk.Tk()
win.title("Jonathan")

#file connection 기능들
def student_read():
    temp = json.load(open('student.txt', encoding='utf8'))
    student.update(temp)
def student_save():
    temp = open('student.txt', 'w+', encoding='utf8')
    temp.write(json.dumps(student))
# def show():
#     student_read()
#     scr.delete("1.0","end")
#     i = 1
#     for item in student:
#         a = str(student[item])
#         b = a.replace("[", "")
#         a = b.replace(",", "  ")
#         b = a.replace("]", " ")
#         a = b.replace("'", "  ")
#         scr.insert(tk.INSERT, i)
#         scr.insert(tk.INSERT, ".")
#         scr.insert(tk.INSERT, item)
#         scr.insert(tk.INSERT, "\t")
#         scr.insert(tk.INSERT, "\t")
#         scr.insert(tk.INSERT, ":")
#         scr.insert(tk.INSERT, a)
#         scr.insert(tk.INSERT, "\n")
#         i += 1
#loop 로 만든 show
def show():
    student_read()
    scr.delete('1.0','end')
    i=1
    for stu in sorted(student):
        scr.insert(tk.INSERT, i)
        scr.insert(tk.INSERT, ".")
        scr.insert(tk.INSERT, stu)
        scr.insert(tk.INSERT, "\t")
        scr.insert(tk.INSERT, "\t")
        for stu_val in range(len(student[stu])):
            scr.insert(tk.INSERT, student[stu][stu_val])
            scr.insert(tk.INSERT,"\t")
        scr.insert(tk.INSERT,"\n")
        i+=1


#초기 실행(파일읽어오기)
student_read()
num=str(len(student))

# 저장 버튼 눌렀을때의 이벤트
def click_write():
    #이름 만들기
    a = stname.get().strip()
    #학년 만들기
    b = radVar.get()
    if b == 0:
        grade = grades[0]
    elif b == 1:
        grade = grades[1]
    elif b == 2:
        grade = grades[2]
    elif b == 3:
        grade = grades[3]
    elif b == 4:
        grade = grades[4]
    # 선택과목 만들기
    if sub1.get() == 1:
        sel1 = "선택1"
    else:
        sel1 = "0"
    if sub2.get() == 1:
        sel2 = "선택2"
    else:
        sel2 = "0"

    #remarks
    re=remarks.get()

    #딕셔너리 작성
    if a=="":
        pass
    else:
        student[a] = [grade, sel1, sel2, re]
    student_save()
    num=str(len(student))
    radVar.set(2)
    remarks_entered.configure(remarks_entered.delete(0, "end"))
    stname_entered.configure(stname_entered.delete(0,"end"))
    total_label.configure(text='현재 '+num+"명")
    show()
    stname_entered.focus()

#삭제 버튼 눌렀을때
def click_del():
    show()
    try:
        a = stname.get().strip()
        del(student[a])
        student_save()
        num = str(len(student))
        remarks_entered.configure(remarks_entered.delete(0, "end"))
        stname_entered.configure(stname_entered.delete(0, "end"))
        total_label.configure(text='현재 ' + num + "명")
        show()
        stname_entered.focus()
    except:
        stname_entered.configure(stname_entered.delete(0, "end"))
        pass
    stname_entered.focus()

#복사 버튼 눌렀을때
def click_copy():
    stname_entered.configure(stname_entered.delete(0,'end'))
    win32clipboard.OpenClipboard()
    copied_name = win32clipboard.GetClipboardData()
    win32clipboard.CloseClipboard()
    stname_entered.insert(tk.INSERT, copied_name)
    stname_entered.focus()
#검색 버튼 눌렀을때
def search_button():
    stname_entered.configure(stname_entered.delete(0, 'end'))
    win32clipboard.OpenClipboard()
    copied_name = win32clipboard.GetClipboardData()
    win32clipboard.CloseClipboard()
    if copied_name in student:
        scr.configure(scr.delete("1.0",'end'))
        stname_entered.insert(tk.INSERT, copied_name)
        scr.insert(tk.INSERT, "1.")
        scr.insert(tk.INSERT, copied_name)
        scr.insert(tk.INSERT, "\t")
        scr.insert(tk.INSERT, "\t")
        for stu_val in range(len(student[copied_name])):
            scr.insert(tk.INSERT, student[copied_name][stu_val])
            scr.insert(tk.INSERT, "\t")
        scr.insert(tk.INSERT, "\n")
    else:
        pass
    stname_entered.focus()



#SCREEN GUI
    #first frame
first_level= ttk.LabelFrame(win)
first_level.grid(column=0, row=0, padx=4, pady=4)
    #이름 라벨
name_label = ttk.Label(first_level, text='이름을 입력하세요')
name_label.grid(column=0, row=0)
    #remarks 라벨
remarks_label = ttk.Label(first_level, text='비고를 입력하세요')
remarks_label.grid(column=1, row=0, sticky=tk.W)
    #검색 라벨
search_student = ttk.Button(first_level, text='검색', command=search_button)
search_student.grid(column=2, row=0, sticky=tk.W)
    #total
total_label= ttk.Label(first_level, text="현재 "+num+"명")
total_label.grid(column=3, row=0, sticky=tk.W)
    # 이름 입력 받는 엔트리
stname = tk.StringVar()
stname_entered = ttk.Entry(first_level, width=10, textvariable=stname)
stname_entered.grid(column=0, row=1,)
    #remarks 입력 엔트리
remarks = tk.StringVar()
remarks_entered = ttk.Entry(first_level, width=30, textvariable=remarks)
remarks_entered.grid(column=1, row=1,  sticky=tk.W)
    # 복사 버튼
copy_student = ttk.Button(first_level, text='복사', command=click_copy)
copy_student.grid(column=2, row=1, sticky=tk.W)
    # 입력 버튼
action = ttk.Button(first_level, text='저장', command=click_write)
action.grid(column=3, row=1, sticky=tk.W)
    # 삭제 버튼
del_student = ttk.Button(first_level, text='삭제', command=click_del)
del_student.grid(column=4, row=1, sticky=tk.W)
    #학년 선택
radVar = tk.IntVar()
radVar.set(2)
# 학년 선택 2 (동그라미 체크)
def gradecall():
    radVar.get()
for gra in range(len(grades)):
    graderad = tk.Radiobutton(first_level, text=grades[gra], variable=radVar, value=gra, command=gradecall)
    graderad.grid(column=gra, row=2, sticky=tk.W)
    # 선택 과목
sub1 = tk.IntVar()
life_ethics= tk.Checkbutton(first_level, text="선택1", variable=sub1)
life_ethics.select()
life_ethics.grid(column=0,row=3,sticky=tk.W)
sub2 = tk.IntVar()
ethics= tk.Checkbutton(first_level, text="선택2", variable=sub2)
ethics.grid(column=1,row=3,sticky=tk.W)
ethics.deselect()
    #scroll text box
scrol_w=120
scrol_h=30
scr= scrolledtext.ScrolledText(first_level, width=scrol_w, height=scrol_h, wrap=tk.WORD)
scr.grid(column=0, columnspan=6)

# 초기 커서값
stname_entered.focus()

# 시작
win.mainloop()
  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)