用python列出网络共享

时间:2009-09-22 11:46:33

标签: python networking drive

如果我明确尝试在Windows机器上使用python在远程主机上列出共享目录的内容,则操作成功,例如,以下代码段工作正常:

os.listdir("\\\\remotehost\\share")

但是,如果我尝试列出远程主机上可用的网络驱动器/目录,则python会失败,其示例将在以下代码段中显示:

os.listdir("\\\\remotehost")

有人知道为什么这不起作用吗?我们非常感谢任何帮助/解决方法。

5 个答案:

答案 0 :(得分:5)

可能pysmb可以提供帮助

答案 1 :(得分:2)

对于仍然想知道如何在Windows上列出顶级网络共享的人,您可以使用win32net模块:

import win32net
shares, _, _ = win32net.NetShareEnum('remotehost',0)

整数控制返回的信息类型,但如果你只想要一个共享列表,那么0就可以了。

这适用于os.listdir('\\ remotehost')失败的地方,因为'\\ remotehost'不是真正的文件夹,尽管windows可以像显示它一样。

答案 2 :(得分:1)

答案 3 :(得分:1)

我确信OP现在已经忘记了这个问题,但这里(可能)是一个解释:

http://www.python.org/doc/faq/windows/#why-does-os-path-isdir-fail-on-nt-shared-directories

如果其他人遇到这个问题,就像我一样。

答案 4 :(得分:0)

对不起。我不能尝试这个,因为我不在电脑里。 你试过了吗?

os.listdir("\\\\remotehost\\")