如果我明确尝试在Windows机器上使用python在远程主机上列出共享目录的内容,则操作成功,例如,以下代码段工作正常:
os.listdir("\\\\remotehost\\share")
但是,如果我尝试列出远程主机上可用的网络驱动器/目录,则python会失败,其示例将在以下代码段中显示:
os.listdir("\\\\remotehost")
有人知道为什么这不起作用吗?我们非常感谢任何帮助/解决方法。
答案 0 :(得分:5)
可能pysmb可以提供帮助
答案 1 :(得分:2)
对于仍然想知道如何在Windows上列出顶级网络共享的人,您可以使用win32net模块:
import win32net
shares, _, _ = win32net.NetShareEnum('remotehost',0)
整数控制返回的信息类型,但如果你只想要一个共享列表,那么0就可以了。
这适用于os.listdir('\\ remotehost')失败的地方,因为'\\ remotehost'不是真正的文件夹,尽管windows可以像显示它一样。
答案 2 :(得分:1)
也许以下脚本会对您有所帮助。见http://gallery.technet.microsoft.com/ScriptCenter/en-us/7338e3bd-1f88-4da9-a585-17877fa37e3b
答案 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\\")