如果我明确地试图列出使用Windows机器上的蟒蛇在远程主机上的共享目录中的内容,操作成功,例如,下面的片段正常工作:上市的网络股,蟒蛇
os.listdir("\\\\remotehost\\share")
但是,如果我试图列出远程主机上可用的网络驱动器/目录,蟒蛇失败,其中的一个例子显示在下面的代码片段:
os.listdir("\\\\remotehost")
是任何人都知道为什么,这并不工作?,任何帮助/解决方法表示赞赏。
如果我明确地试图列出使用Windows机器上的蟒蛇在远程主机上的共享目录中的内容,操作成功,例如,下面的片段正常工作:上市的网络股,蟒蛇
os.listdir("\\\\remotehost\\share")
但是,如果我试图列出远程主机上可用的网络驱动器/目录,蟒蛇失败,其中的一个例子显示在下面的代码片段:
os.listdir("\\\\remotehost")
是任何人都知道为什么,这并不工作?,任何帮助/解决方法表示赞赏。
对不起。因为我不在电脑里,所以我无法尝试。 您是否尝试过:
os.listdir("\\\\remotehost\\")
试过了,没有快乐 – 2009-09-22 13:14:13
我敢肯定,OP到目前为止已经忘记了这个问题,但这里的(也许)的解释:
http://www.python.org/doc/faq/windows/#why-does-os-path-isdir-fail-on-nt-shared-directories
如果其他人沿着这问题发生,就像我一样。
对于任何人仍然不知道如何在Windows上的顶层列出网络共享,则可以使用win32net模块:
import win32net
shares, _, _ = win32net.NetShareEnum('remotehost',0)
的整数控制的返回信息的类型,但如果你只是想清单股票然后0会做。
这工作,其中为“\\远程主机”是不是一个真正的文件夹,尽管Windows可以像一个显示它os.listdir(“\\远程主机”)失败。
用户是否有权列出的股票?或者只是有权在\\ remotehost \ share中列出目录? – 2009-09-22 11:57:37
是的,用户对共享有足够的权限,即使我将远程主机设置为本地机器,我仍然观察到相同的行为 – 2009-09-22 13:24:14
只是一点点提示: 当处理这样的巨大反斜线时,通常更容易将该字符串输入为原始字符串,如下所示:r'\\ remotehost \ share'vs'\\\\ remotehost \\ share'。这使我经常头痛。 – 2010-04-26 18:47:00