在网络路径上打开资源管理器

Posted

技术标签:

【中文标题】在网络路径上打开资源管理器【英文标题】:Open explorer on a network path 【发布时间】:2018-09-06 13:39:35 【问题描述】:

假设我有一个如下的网络路径:

\\srv\teams\dir 1

如何使用子进程打开它?我正在尝试:

subprocess.Popen("explorer '\\srv\teams\dir 1'")

但它总是将我带到我的“我的文档”。它在 cmd 中运行良好。我用的是win7。

我也试过了:

os.system("explorer '\\srv\teams\dir 1'")

【问题讨论】:

你能打开没有空格的路径吗? 【参考方案1】:

有关 os.system 的解决方案,请参阅 Mike Scotty。如果您使用subprocess,请为您的命令使用字符串列表而不是单个字符串:

subprocess.call(['explorer', '\\\\srv\\teams\\dir 1'])

请注意,我使用subprocess.call 而不是subprocess.Popen,因为这是一个简单的调用,无需矫枉过正

【讨论】:

【参考方案2】:

您的代码有两个问题:

1) 使用原始字符串或转义 \ 字符

2) 使用"而不是'来包围路径

os.system(r'explorer "\\srv\teams\dir 1"')

【讨论】:

您能解释一下为什么要在实际命令之前使用“r”吗? 因为它告诉 Python 将字符串解释为 raw 字符串,这意味着 \ 将是文字 \ 而不是转义字符。另一种方法是逃避\,如Hai Vu的回答所示。

以上是关于在网络路径上打开资源管理器的主要内容,如果未能解决你的问题,请参考以下文章

Java资源管理器中树形文件目录的路径取得问题

win10打开SQLServer, SQL Server 配置管理器

如何打开sql server 配置管理器?

Process.Start 打开资源管理器

Unity 从Inspector界面打开资源管理器选择并记录文件路径

打开文件资源管理器并在文本框中搜索变量