這個問題在這里已經有了答案: Tree tk(檔案瀏覽器) (1 個回答) 7 小時前關閉。
我正在嘗試在 Tkinter 中創建一個程式,該程式在視窗左側有一個檔案瀏覽器/資源管理器,右側有一個顯示檔案內容的部分。我只能找到打開單獨檔案對話視窗的解決方案,并希望在主視窗中實際顯示檔案資源管理器。不太確定如何解決此問題,因此將不勝感激。干杯!
uj5u.com熱心網友回復:
我的理解是,用于導航目錄的標準 Tkinter 函式使用作業系統的檔案資源管理器系統來執行此操作,因此沒有簡單的方法(據我所知)將其簡單地嵌入到您的應用程式中。如果您需要這樣的東西,您將需要構建自己的檔案導航軟體,或者找到可以為您完成的第三方軟體包。
要自己實作它,您可以使用 os 模塊來確定用戶系統上目錄的內容。具體細節取決于您的要求,但舉個例子,如果您只需要訪問運行腳本的檔案夾:
import os
script_directory = os.path.dirname(os.path.abspath(__file__))
# Now, let's build our file/folder list
dir_contents = []
for subdir, dirs, files in os.walk(script_directory):
dir_contents = [subdir, dirs, files]
break
這里的代碼將遍歷目錄script_directory和所有檔案夾。因為在這個例子中我們只對它script_directory本身感興趣,所以我們break在這個單次迭代之后停止。
subdir將是每次迭代的子目錄名稱os.walk。
dirs將是所有檔案夾的串列subdir。
files將是所有檔案的串列subdir。
然后,您需要實作按鈕和其他小部件來顯示結果并允許導航和檔案操作,這可能需要對os模塊進行其他呼叫以建立用戶導航到的目錄的內容。如果您需要訪問多個目錄位置,我建議實作一個類來處理這個問題,而不是試圖將其全部充實到一個深度嵌套的串列中。
當然,這是一項艱巨的作業,所以我只會在對專案絕對必要的情況下才推薦它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/370466.html
