如何打开在Windows上选择的指定项目的文件夹

时间:2013-04-19 15:46:42

标签: python windows winapi python-2.7 python-3.x

我想打开一个在Windows上选择了指定项目的文件夹。我查找了Windows Shell Reference并找到了适合这项工作的函数:SHOpenFolderAndSelectItems

但是,我找不到如何在Python中使用它的示例。有人知道我怎么做吗?

我还有另外一项要求:如果该文件夹已经打开,请不要再次打开它,只需激活它并选择文件。

2 个答案:

答案 0 :(得分:3)

使用PyWin32你可以做这样的事情,默认情况下它应该激活并选择文件,如果已经打开:

from win32com.shell import shell, shellcon
import win32api

folder = win32api.GetTempPath()
folder_pidl=shell.SHILCreateFromPath(folder,0)[0]
desktop = shell.SHGetDesktopFolder()
shell_folder = desktop.BindToObject(folder_pidl, None, shell.IID_IShellFolder)
items = [item for item in shell_folder][:5]
## print (items)
shell.SHOpenFolderAndSelectItems(folder_pidl, items, 0)

http://mail.python.org/pipermail/python-win32/2012-September/012531.html

答案 1 :(得分:1)

也许您可以尝试使用subprocess.Popen通过Python运行shell命令。 查看此主题以获取更多信息:How to use subprocess popen Python