Python 在网络路径上打开资源管理器
假设我有一个如下所示的网络路径:Python 在网络路径上打开资源管理器,python,windows,nfs,Python,Windows,Nfs,假设我有一个如下所示的网络路径: \\srv\teams\dir 1 如何使用子流程打开它?我正在努力: subprocess.Popen("explorer '\\srv\teams\dir 1'") 但它总是让我找到我的“我的文件”。它在cmd中运行良好。我正在使用win7 我还尝试: os.system("explorer '\\srv\teams\dir 1'") 您的代码有两个问题: 1) 使用原始字符串或转义\字符 2) 使用“而不是”来封闭路径 os.system(r'exp
\\srv\teams\dir 1
如何使用子流程打开它?我正在努力:
subprocess.Popen("explorer '\\srv\teams\dir 1'")
但它总是让我找到我的“我的文件”。它在cmd中运行良好。我正在使用win7
我还尝试:
os.system("explorer '\\srv\teams\dir 1'")
您的代码有两个问题: 1) 使用原始字符串或转义
\
字符
2) 使用“
而不是”
来封闭路径
os.system(r'explorer "\\srv\teams\dir 1"')
您的代码有两个问题: 1) 使用原始字符串或转义
\
字符
2) 使用“
而不是”
来封闭路径
os.system(r'explorer "\\srv\teams\dir 1"')
有关操作系统的解决方案,请咨询Mike Scotty。如果使用
子流程
,请为命令使用字符串列表,而不是单个字符串:
subprocess.call(['explorer', '\\\\srv\\teams\\dir 1'])
请注意,我使用的是
subprocess.call
而不是subprocess.Popen
,因为这是一个简单的调用,所以无需过度使用请参阅Mike Scotty以了解有关os.system的解决方案。如果使用子流程
,请为命令使用字符串列表,而不是单个字符串:
subprocess.call(['explorer', '\\\\srv\\teams\\dir 1'])
注意,我使用
subprocess.call
而不是subprocess.Popen
,因为这是一个简单的调用,无需过度杀戮可以打开一个没有空格的路径吗?可以打开一个没有空格的路径吗?可以解释为什么在实际命令之前应该使用“r”吗?因为它告诉Python将字符串解释为原始
字符串,这意味着\
将是一个文本\
而不是转义字符。另一种选择是转义\
,如海武的回答所示。您能解释一下为什么在实际命令之前应该使用“r”吗?因为它告诉Python将字符串解释为原始字符串,这意味着\
将是一个文本\
,而不是转义字符。另一种选择是逃避\
,如海武的回答所示。