Python,Pandas Tkinter函数有时会一直停顿直到按键输入

时间:2019-01-04 15:38:49

标签: python excel pandas tkinter

我正在研究相当长的一段代码来自动生成发票。数据存储在Excel工作表中,并通过Tkinter窗口通过熊猫加载(也选择了保存目录)。

一切正常,直到我尝试通过将Tkinter / pandas东西嵌入到一个带有while循环的函数中来使事情变得整洁。现在,除非有按键操作,否则CMD控制台窗口会挂起50%的时间,否则会因为“ input()”而使事情变得混乱。

我真的很想解决这个问题,因为我想开发事物的Tkinter方面,使其更加用户友好。

这是这两个函数及其调用,如果需要,我可以包括任何必要的额外代码片段。请注意,存在一个while循环,因为通常用户会忘记关闭excel工作表,而python不会加载它,因此会提示错误消息,并给用户第二次机会。

def open_Info_Sheet():    
    while 1:
        print('PLEASE SELECT THE INVOICE INFORMATION SHEET')
        Tk().withdraw() 
        filename = askopenfilename(title='PLEASE SELECT THE INVOCE INFORMATION SHEET') # show an "Open" dialog box and return the path to the selected file

        try:
           df = pandas.read_excel(filename)
        except:
           print('--------------------------------------------------------')   
           print("||||||| FAILED TO OPEN INVOICE INFORMATION SHEET |||||||\n\n1) Did you select the correct file?\n2) Is the invoice sheet currently open?\n3) Did you close the pop-up window?\n")
           continue 
        break
    print("INVOICE INFORMATION SHEET LOADED")
    return df

def open_Directory():  
    while 1:
        Tk().withdraw() 
        savedirectory = askdirectory(title='PLEASE SELECT A FOLDER')
        if len(savedirectory) > 0:
            break    
        return savedirectory


savedirectory = open_Directory()
dirlist = os.listdir(savedirectory)

0 个答案:

没有答案