在网络路径上打开资源管理器
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的回答所示。以上是关于在网络路径上打开资源管理器的主要内容,如果未能解决你的问题,请参考以下文章
win10打开SQLServer, SQL Server 配置管理器