Tkinter文件对话框askdirectory()无法找到外部驱动器。

3
在过去的一周里,我开发了一个文件夹同步程序,主要是为了方便更新外部硬盘或手机上的安全备份,而不必每次都删除和复制所有内容。对于数千个和几吉字节大小的文件,这可能需要花费很长时间。该程序已经完成,并在我的各种测试系列中工作,但有一个致命的缺陷:我只在电脑本身上进行了测试,但当我最终想要复制真实数据时,我发现 tkinter 对话框无法识别任何外部设备。
以下屏幕截图显示设备在资源管理器中可见,但在对话框窗口中消失: enter image description here 我搜索了一段时间,似乎 tkinter 解决方案功能简陋不完整,因此我必须寻找其他地方。在其中一个答案中,有人建议在其他地方编写自己的文件夹选择对话框,但我还没有找到如何操作的指导(例如,是否可以调用 os 函数?也许有一个提供更多控制的模块?)也许 tkinter 甚至可以被救回来,尽管我对此表示怀疑。

它是一个设备,而不是一个磁盘。即使在Windows“计算机管理”的“磁盘管理”中,您也无法看到它。 - acw1668
1个回答

1
如果您正在使用USB外部设备,可以尝试使用跨平台的PyUSB。PyUSB模块为Python提供了访问主机计算机通用串行总线(USB)系统的简单方式。 或者,您可以尝试使用PyWin32调用Windows API。

这并不改变无法使用tkinter的文件对话框的事实。另外,为什么不使用pathlib或os模块而不是外部库呢? - Thingamabobs
@Thingamabobs 同意,那也可以。 - Thyrus
@Thingamabobs,os模块怎么做到这一点?在提问之前我已经专门搜索过了,但我总是只能找到人们建议使用tkinter来处理文件夹选择的方法。 - RiiNagaja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接