Предположим, вы находитесь на платформе Windows, вы можете использовать win32api.GetLogicalDriveStrings()
для получения доступных дисков. Ниже приведен пример программы:
import win32api
from tkinter import *
def select_drive(drv):
# print the drive and then exit program
print(drv)
root.destroy()
root = Tk()
root.title('Select Drive')
drives = [x[:2] for x in win32api.GetLogicalDriveStrings().split('\x00')[:-1]]
font=('Courier New', 14, 'bold')
for i, drv in enumerate(drives):
Button(text=drv, font=font, width=5, command=lambda d=drv: select_drive(d)).grid(row=i//5, column=i%5, padx=5, pady=3)
root.mainloop()
А на выходе:
Обновлено: Если у вас не установлен модуль win32api
, вы можете использовать следующий код для получения доступных дисков:
import os, string
drives = ['%s:'%d for d in string.ascii_uppercase if os.path.exists('%s:'%d)]