Tkinter从网络获取目录

时间:2018-07-11 13:32:47

标签: python tkinter

方案::我正在尝试获取一些文件路径,以进一步使用我的代码。为此,我使用tkinter和askdirectory函数允许用户进行文件夹选择。下面的代码通常可以在我的计算机中查找文件夹,但是在这种情况下,我想访问网络中的文件夹。

从其他问题和tkinter文档中,我得到了以下代码:

from Tkinter import Tk
from tkFileDialog import askdirectory

Tk().withdraw()
sourcefolder = askdirectory()
outputfolder = askdirectory()

问题:是否可以使用tkinter检索网络中的路径?如果没有,是否还有其他API可以做到这一点?

1 个答案:

答案 0 :(得分:1)

因此,即使在Network中展开askdirectory()时可能看不到网络路径,也可以将默认值设置为网络路径。

在下面的示例中,如果您告诉askdirectory()默认为网络驱动器中的某个路径,则可以使用它。

更新: 经过一番挖掘和测试之后,只要您拥有有权访问的共享文件夹的确切路径,以下示例便可以工作。如果仅访问服务器,则可能无法访问任何地方,因为您的访问权限可能仅限于特定文件夹。尝试确保您确定有确切的共享驱动器。在我们的服务器上,它不区分大小写,但是您可能要确保大小写也是如此,或者同时测试准确的机壳和所有机壳,以查看是否像我一样。

我要做的是直接在Windows文件夹视图中输入路径,以确保它是有效路径,然后将其复制到我的代码中。

请记住,有几种方法可以设置文本以使其正常工作。以下所有格式都对我有用:

r"\\server_complete_name_here\share_folder_name" # normalizing the string
"\\\\server_complete_name_here\\share_folder_name" # escaping the backslashes
"//server_complete_name_here/share_folder_name" # windows can take forward slashes
"\\\\server_complete_name_here/share_folder_name" # mixing it up.

示例代码:

from tkinter import *
from tkinter import filedialog

myApp=Tk()

outputfolder = filedialog.askdirectory(parent=myApp, initialdir=r"\\server_complete_name_here\share_folder_name")

myApp.mainloop()

如果这对您不起作用,那么您也可以将潜水图映射到本地PC,然后askdirectory()可以看到它。