我有一些代码会为用户打开Windows资源管理器,但它始终打开,重点放在“我的文档”上,我理解这是Windows资源管理器的默认值。
我可以将其退回到当前用户名目录的一个级别,但我不能强制它在由变量定义的网络驱动器>文件夹中打开。我尝试使用OS vb脚本添加焦点(必须尝试一些东西,它在语法上看起来非常相似?)但是这仍然忽略了文件夹路径并转向用户目录:
def Open_Win_Explorer_and_Select_Dir():
import subprocess
fldr2opn = currentproject.get()
# os.popen('start explorer,"%s" ' % fldr2opn)
os.popen('c:\windows\EXPLORER.EXE /n, /select, "%s"' % fldr2opn)
如果我在print(fldr2opn)
之前输入os.popen()
语句,则返回正确的路径"P:\Projects_2013\test_dir"
所以我知道这是正确的,它只是os.popen
语法那让我难过。
答案 0 :(得分:1)
对于仍然需要答案的人,我设法以这种方式实际打开特定目录:
# For an absolute path or relative from My Documents
import subprocess
p = subprocess.Popen('C:\Windows\EXPLORER.EXE /n /cwd="' + directory + '"')
p.wait()
# For a relative path from the current directory
import subprocess
import os
p = subprocess.Popen('C:\Windows\EXPLORER.EXE /n /cwd="' +
os.getcwd() + os.sep + directory + '"')
p.wait()
答案 1 :(得分:0)
摆脱选项之间的空间:
os.popen('c:\windows\EXPLORER.EXE /n,/select,%s' % fldr2opn)
要使此功能与要打开的路径中的空格一致,建议您使用subprocess.Popen()
和
cmd = ['c:\windows\EXPLORER.EXE', '/n,/select,%s' % fldr2opn]