내 코드의 목적은 4 개의 버튼이있는 GUI를 만드는 것입니다. 그들 중 2 명은 사용자가 디렉토리에서 파일을 선택할 수있게하는 "찾아보기"창을 여는 것입니다. 세 번째 버튼은 최종 문서가 출력 될 디렉토리를 사용자가 선택할 수있게합니다. 네 번째 버튼은 파이썬 코드를 두 파일에 적용하여 출력 된 문서를 만듭니다.askopenfilename이 정의되지 않았습니까? - tkinter에서 찾아보기 버튼 만들기
stackoverflow 및 인터넷에서 많은 게시물을 통해 "찾아보기"단추를 만들려고 할 때 대부분의 솔루션에는 종종 tkFileDialog에서 가져온 "askopenfilename"모듈이 포함됩니다. 그러나 내가 가져온 tkinter 모듈의 변형이나 단어의 의미와 상관없이 "no module name tkfileDialog"또는 "askopenfilename is not defined"라는 동일한 오류 메시지를 일관되게받습니다.
내 코드에 문제가 있습니까? 파이썬 3.6과 함께 tkinter에서 발견되는 일반적인 에러입니까? 파일을 찾고 경로를 추가하는 찾아보기 버튼을 만드는 방법은 무엇입니까?
알려주세요.
감사합니다. 당신은 알려 주시기 바랍니다 내 코드에 다른 오류를 발견하는 경우
import os
#from tkFileDialog import *
from tkinter import filedialog
from Tkinter import *
from tkfileDialog import askopenfilename
content = 'apple'
file_path = 'squarebot'
#FUNCTIONS
def browsefunc(): #browse button to search for files
filename = askopenfilename()
infile = open(filename, 'r')
content = infile.read()
pathadd = os.path.dirname(filename)+filename
pathlabel.delete(0, END)
pathlabel.insert(0, pathadd)
return content
def open_file(): #also browse button to search for files - im trying various things to get this to work!
global content
global file_path
#filename = filedialog.askopenfilename(filetypes = (typeName {.txt},))
filename = askopenfilename()
infile = open(filename, 'r')
content = infile.read()
file_path = os.path.dirname(filename)
entry.delete(0, END)
entry.insert(0, file_path)
return content
def process_file(content): #process conversion code
print(content)
def directoryname():
directoryname = filedialog.askdirectory() # pick a folder
#GUI
root = Tk()
root.title('DCLF Converter')
root.geometry("598x600")
mf = Frame(root)
mf.pack()
f1 = Frame(mf, width=600, height=250) #DC file
f1.pack(fill=X)
f2 = Frame(mf, width=600, height=250) #LF file
f2.pack(fill=X)
f3 = Frame(mf, width=600, height=250) #destination folder
f3.pack(fill=X)
f4 = Frame(mf, width=600, height=250) #convert button
f4.pack()
file_path = StringVar
Label(f1,text="Select Your DC File (Only txt files)").grid(row=0, column=0, sticky='e') #DC button
entry = Entry(f1, width=50, textvariable=file_path)
entry.grid(row=0,column=1,padx=2,pady=2,sticky='we',columnspan=25)
Label(f2,text="Select Your LF File (Only csv files)").grid(row=0, column=0, sticky='e') #LF button
entry = Entry(f2, width=50, textvariable=file_path)
entry.grid(row=0,column=1,padx=2,pady=2,sticky='we',columnspan=25)
Label(f3,text="Select Your Destination Folder").grid(row=0, column=0, sticky='e') #destination folder button
entry = Entry(f3, width=50, textvariable=directoryname)
entry.grid(row=0,column=1,padx=2,pady=2,sticky='we',columnspan=25)
Button(f1, text="Browse", command=browsefunc).grid(row=0, column=27, sticky='ew', padx=8, pady=4)#DC button
Button(f2, text="Browse", command=browsefunc).grid(row=0, column=27, sticky='ew', padx=8, pady=4)#LF button
Button(f3, text="Browse", command=browsefunc).grid(row=0, column=27, sticky='ew', padx=8, pady=4)#destination folder button
Button(f4, text="RECONCILE NOW", width=32, command=lambda: process_file(content)).grid(sticky='ew', padx=10, pady=10)#convert button
root.mainloop()
P.S :
다음은 내 코드입니다. 나는 방금 tkinter로 시작했습니다. 그리고 이것은 완전히 무관 한 무언가에 기인 한 것 같습니다!
많이 감사합니다.
'tkfileDialog'를'tkFileDialog'로 변경하면 어떻게됩니까? – Kevin
파이썬 3.x의 경우 'filedialog.askopenfilename()'을 사용하여 기존 코드에서 함수를 호출하거나'tkinter.filedialog import askopenfilename'에서'askopenfilename()'을 사용하여 호출하십시오. – martineau