2016-07-07 6 views
0

(경로를 가져오고 다운로드 한 내용을 저장하기 위해) 디렉토리 선택 대화 상자를 표시하려고합니다. 코드가 IDLE에서 잘 실행되지만 실행하려고 할 때 CMD는이 오류Tkinter가 cmd에서 작동하지 않습니다 (IDLE에서 작업 중)

NameError: name 'Tk' is not defined

내가 GUI를 위해 Tkinter를 사용하고 있습니다를 얻을. 파이썬 3.4.3를 사용

코드 조각

from tkinter import filedialog 
root = Tk() 
root.withdraw() 
filename = filedialog.askdirectory() 

. 도움이나 제안이 있으십니까?

+0

나는 3.4.4과 3.5.1에 ​​적용되는 패치는 나가서 설명하자면 NameError 3.5.2 또는 3.6.0a2 결과 지금 IDLE에서 해당 코드 실행이 특정 문제를 해결 한 것으로 보인다. 추적기 문제는 https://bugs.python.org/issue25507입니다. 3.6.0 이전에 숨겨진 가져 오기 때문에 실패해야하는 IDLE 실행 코드 문제를 마무리하겠습니다. –

+0

@TerryJanReedy 정보를 제공해 주셔서 감사합니다! –

+0

내 대답은 https://stackoverflow.com/questions/38806673/importing-from-a-package-in-idle-vs-shell/38808437#38808437에서 기존 릴리스에서이를 해결하는 방법을 설명합니다. –

답변

0

from tkinter import filedialog 문은 tkinter에서 filedialog 모듈 만 가져옵니다. 일반적인 Tkinter 항목을 원하면 해당 항목을 가져와야합니다. import tkinter as tk을 권하고 싶으면 예를 들어 다음을 참고하십시오. root = tk.Tk() 그래서 전역 네임 스페이스에 모든 것을 덤프하지 마십시오. 또는 실제로 루트 객체 만 원하면 from tkinter import Tk을 사용하십시오. 예상대로

from tkinter import Tk 
from tkinter import filedialog 
root = Tk() 
root.withdraw() 
filename = filedialog.askdirectory() 
+0

너 너는 신이 란다! 엄청 고마워! –