在文件上打开资源管理器

时间:2008-11-11 19:24:57

标签: python windows explorer

在Python中,如何在Windows资源管理器中跳转到文件?我找到了跳转到文件夹的解决方案:

import subprocess
subprocess.Popen('explorer "C:\path\of\folder"')

但我没有文件解决方案。

6 个答案:

答案 0 :(得分:63)

来自Geoff Chappell's The Windows Explorer Command Line

import subprocess
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"')

答案 1 :(得分:6)

出于某种原因,在Windows 7上它始终会打开用户路径,对我来说是完成后的结果:

import subprocess
subprocess.call("explorer C:\\temp\\yourpath", shell=True)

答案 2 :(得分:4)

更好,更安全的解决方案(仅在Windows中),os.startfile()

当它被赋予文件夹而不是文件时,它将打开资源管理器。

我知道我没有完全回答这个问题,因为它没有选择文件,但使用subprocess总是一个坏主意,这个解决方案可以帮助其他人。

答案 3 :(得分:2)

由于explorer可能会被覆盖,因此直接指向可执行文件会更安全一些。 (也必须是schooled on this

在使用它时:使用Python 3s当前的子进程API:run()

import os
import subprocess
FILEBROWSER_PATH = os.path.join(os.getenv('WINDIR'), 'explorer.exe')

def explore(path):
    # explorer would choke on forward slashes
    path = os.path.normpath(path)

    if os.path.isdir(path):
        subprocess.run([FILEBROWSER_PATH, path])
    elif os.path.isfile(path):
        subprocess.run([FILEBROWSER_PATH, '/select,', os.path.normpath(path)])

答案 4 :(得分:1)

或者,您可以使用EasyGUI的fileopenbox模块打开文件资源管理器,以供用户单击并选择文件(返回完整的文件路径)。

Name_List = ['Smith (Samsonite), Jennifer', 'Johnson (Scott), Ashley', 
'Williams, Jessica']

答案 5 :(得分:0)

对于任何想知道如何使用变量代替直接文件路径的人。下面的代码将打开资源管理器并突出显示指定的文件。

import subprocess
subprocess.Popen(f'explorer /select,{variableHere}')

下面的代码将只在资源管理器中打开指定的文件夹,而不会突出显示任何特定文件。

import subprocess
subprocess.Popen(f'explorer "{variableHere}"')

我仅在Windows上进行过测试

相关问题