0
我已經用Python編寫了一個程序,允許我一次更改多個文件的名稱。我有一個很奇怪的問題。raw_input停止GUI出現
當我使用raw_input來獲得我想要的擴展名時,GUI將不會啓動。我沒有得到任何錯誤,但窗口永遠不會出現。
我嘗試使用raw_input作爲從用戶獲取文件擴展名的方式來構建文件列表。當raw_input未被使用時,這個程序將正常工作。我指的代碼段在我的globList函數中。出於某種原因,當使用raw_imput時,窗口將不會啓動。
import os
import Tkinter
import glob
from Tkinter import *
def changeNames(dynamic_entry_list, filelist):
for index in range(len(dynamic_entry_list)):
if(dynamic_entry_list[index].get() != filelist[index]):
os.rename(filelist[index], dynamic_entry_list[index].get())
print "The files have been updated!"
def drawWindow(filelist):
dynamic_entry_list = []
my_row = 0
my_column = 0
for name in filelist:
my_column = 0
label = Tkinter.Label(window, text = name, justify = RIGHT)
label.grid(row = my_row, column = my_column)
my_column = 1
entry = Entry(window, width = 50)
dynamic_entry_list.append(entry)
entry.insert(0, name)
entry.grid(row = my_row, column = my_column)
my_row += 1
return dynamic_entry_list
def globList(filelist):
#ext = raw_input("Enter the file extension:")
ext = ""
desired = '*' + ext
for name in glob.glob(desired):
filelist.append(name)
filelist = []
globList(filelist)
window = Tkinter.Tk()
user_input = drawWindow(filelist)
button = Button(window, text = "Change File Names", command = (lambda e=user_input: changeNames(e, filelist)))
button.grid(row = len(filelist) + 1 , column = 1)
window.mainloop()
這是raw_input的問題嗎?
什麼是解決問題的好方法?
您使用的是IDE:
在彈出對話框一個體面的教程可以在effbot網站上找到? – Kevin