Python中的開啟檔案對話方塊

2021-07-16 05:27:44 字數 1563 閱讀 7990

**:

1、最早學習tkinter的時候,在《tkinter程式設計**例項》中看到的「開啟檔案對話方塊」需要用到filedialog模組,**非常簡單:

fd = loadfiledialog(root) # 建立開啟檔案對話方塊

filename = fd.go() # 顯示開啟檔案對話方塊,並獲取選擇的檔名稱

print filename

root.mainloop() 

但是介面效果比較簡陋(不是本地風格),而且遇到中文名稱也會顯示為亂碼。所以filedialog.loadfiledialog用於快速原型驗證倒是不錯,要拼湊乙個稍微上得了檯面的介面還是差了點:

2、然後因為使用python操作過excel的緣故,接觸了pywin32擴充套件庫,在該庫的win32ui模組中,提供了乙個createfiledialog方法可以用於建立開啟檔案對話方塊,建立**也非常簡單:

dlg = win32ui.createfiledialog(1) # 1表示開啟檔案對話方塊

dlg.setofninitialdir('e:/python') # 設定開啟檔案對話方塊中的初始顯示目錄

dlg.domodal()

filename = dlg.getpathname() # 獲取選擇的檔名稱

print filename

這個開啟檔案對話方塊的介面比較友好,是windows本地風格的,中文顯示也正常,但缺點是只能在windows上有效:

3、其實剛開始使用win32ui.createfiledialog時,還不會用setofninitialdir設定開啟檔案對話方塊的初始顯示目錄,後來遇到了需要設定的情況,因此上網查了下方法,一不小心來到了乙個叫做nullege的**,在上面找到了這個設定方法;同時,還意外地發現了原來還有乙個tkfiledialog的模組,也提供了大量操作檔案對話方塊的方法,使用tkfiledialog.askopenfilename()即可輕鬆實現我的需求,**異常簡單:

介面也是友好的本地風格,與使用win32ui.createfiledialog類似,但是優點是tkfiledialog是跨平台的:

當然python的介面庫豐富多樣,wxpython、pyqt等等都很棒,它們提供的開啟檔案對話方塊的方法自然也是非常好用的。使用python的程式設計師們很幸運,因為我們的選擇還是有很多的。

MFC 實現開啟檔案對話方塊 儲存檔案對話方塊

cfiledialog cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,lpct...

開啟對話方塊開啟多個檔案

專案中需要開啟多個檔案,注意的地方1 ofn allowmultiselect 2 m ofn.lpstrfile要分配大點的記憶體 我發現 用ctrl a全選檔案,檔名按從小到大加進去。用shift新增檔案,檔名不是按從小到大加進去的。cstring strfilepath cstring str...

MFC開啟檔案對話方塊

摘自msdn cfiledialog dlgfile true cstring filename const int c cmaxfiles 100 const int c cbbuffsize c cmaxfiles max path 1 1 dlgfile.getofn lpstrfile fi...