方案::我正在尝试获取一些文件路径,以进一步使用我的代码。为此,我使用tkinter和askdirectory函数允许用户进行文件夹选择。下面的代码通常可以在我的计算机中查找文件夹,但是在这种情况下,我想访问网络中的文件夹。
从其他问题和tkinter文档中,我得到了以下代码:
from Tkinter import Tk
from tkFileDialog import askdirectory
Tk().withdraw()
sourcefolder = askdirectory()
outputfolder = askdirectory()
问题:是否可以使用tkinter检索网络中的路径?如果没有,是否还有其他API可以做到这一点?
答案 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()
可以看到它。