6

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

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

但是,如果我尝试列出远程主机上可用的网络驱动器/目录,python 会失败,下面的代码片段中显示了一个示例:

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

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

4

5 回答 5

5

可能是pysmb可以提供帮助

于 2009-09-22T12:01:27.440 回答
3

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

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

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

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

于 2017-09-12T15:51:37.320 回答
1

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

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

以防其他人像我一样遇到这个问题。

于 2010-04-26T18:31:18.447 回答
1

也许以下脚本会对您有所帮助。请参阅http://gallery.technet.microsoft.com/ScriptCenter/en-us/7338e3bd-1f88-4da9-a585-17877fa37e3b

于 2009-09-22T12:28:57.250 回答
-1

对不起。我无法尝试这个,因为我不在 PC 中。你有没有尝试过:

os.listdir("\\\\remotehost\\")
于 2009-09-22T12:21:12.693 回答