failed to execute script ****
조회수 1649회
파이썬 파일을 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()
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력