Python Tkinter askdirectory在资源管理器中显示不正确的驱动器
我开发了一个工具,通过BlackJet TX-4DS自动存储和备份XQD卡到SSD的图像数据。在我的测试中,它工作得完美无缺。然而,在现实世界的应用程序中,我遇到了一个bug,我不知道该如何处理它。基本上,脚本在第一次运行时按计划工作,但是,当移除卡并输入第二组卡时,先前XQD卡的名称将显示在关联的文件资源管理器中,并带有askdirectory()。例如,输入、复制和弹出卡1和卡2。卡3和卡4是输入的,但在askdirectory()窗口中显示卡1和卡2。Windows文件资源管理器显示正确的驱动器名(卡3和卡4)。下面的代码从所选目录中删除路径和卡名,并正确输出(卡3和卡4)。问题是我无法确定哪张卡显示为卡1或卡2。关闭并重新运行程序似乎可以修复卡名,但我正在寻找一些东西来更新Tkinter的文件列表,或者让我们在后台保持工具打开Python Tkinter askdirectory在资源管理器中显示不正确的驱动器,python,windows,tkinter,filedialog,Python,Windows,Tkinter,Filedialog,我开发了一个工具,通过BlackJet TX-4DS自动存储和备份XQD卡到SSD的图像数据。在我的测试中,它工作得完美无缺。然而,在现实世界的应用程序中,我遇到了一个bug,我不知道该如何处理它。基本上,脚本在第一次运行时按计划工作,但是,当移除卡并输入第二组卡时,先前XQD卡的名称将显示在关联的文件资源管理器中,并带有askdirectory()。例如,输入、复制和弹出卡1和卡2。卡3和卡4是输入的,但在askdirectory()窗口中显示卡1和卡2。Windows文件资源管理器显示正确的
def FolderSelect():
folder_path = os.path.normpath(askdirectory(title = "Select " + entry.split("_")[0].upper() + " Imagery Folder"))
if folder_path.split('\\')[-1] != "100PHASE" and (entry.split("_")[0] == "aft" or entry.split("_")[0] == "fore"):
folder_path = os.path.join(folder_path,"DCIM","100PHASE")
drive_name = " ".join(str(subprocess.check_output(['cmd','/c vol '+ folder_path.split('\\')[0]])).split("\\r\\n")[0].split(" ")[-2:])
return folder_path, drive_name
folder_path, drive_name = FolderSelect()
明天我会附上一张照片