對(duì)于python的tkinter庫(kù)來(lái)說(shuō),如果需要彈出文件選擇框,我們需要引入一下tkinter.filedialog包,讓用戶直觀地先擇一個(gè)或者多個(gè)文件或者保存文件等操作。
常見(jiàn)的文件選擇對(duì)話框函數(shù)有
**打開(kāi)一個(gè)文件:**askopenfilename()
**打開(kāi)一組文件:**askopenfilenames()
**保存文件:**asksaveasfilename()
首先是打開(kāi)一個(gè)文件我們將使用的對(duì)話函數(shù)是
askopenfilename()
from tkinter import * import tkinter.filedialog root = Tk() def xz(): filename = tkinter.filedialog.askopenfilename() if filename != '': lb.config(text = "您選擇的文件是:"+filename); else: lb.config(text = "您沒(méi)有選擇任何文件"); lb = Label(root,text = '') lb.pack() btn = Button(root,text="彈出選擇文件對(duì)話框",command=xz) btn.pack() root.mainloop()
選擇文件之前:?
?選擇文件之后:??
接下來(lái)是選擇一組文件并且將其在對(duì)話框里顯示出來(lái)
from tkinter import * import tkinter.filedialog root = Tk() def xz(): filenames = tkinter.filedialog.askopenfilenames() if len(filenames) != 0: string_filename ="" for i in range(0,len(filenames)): string_filename += str(filenames[i])+"\n" lb.config(text = "您選擇的文件是:"+string_filename) else: lb.config(text = "您沒(méi)有選擇任何文件"); lb = Label(root,text = '') lb.pack() btn = Button(root,text="彈出選擇文件對(duì)話框",command=xz) btn.pack() root.mainloop()
選擇多個(gè)文件之前和選擇單個(gè)文件是一樣的
選擇多個(gè)文件之后
在寫(xiě)代碼的過(guò)程中我發(fā)現(xiàn)
tkinter.filedialog.askopenfilenames()
返回的是一個(gè)tuple數(shù)據(jù)類型,所以我在后期的處理上先是len(tuple)是否為0,如不是就用for循環(huán)將其強(qiáng)制轉(zhuǎn)化str(tuple[i])到string_filename中就可以實(shí)現(xiàn)文件名的顯示
總結(jié)
以上所述是小編給大家介紹的python文件選擇對(duì)話框的操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
