Kir*_*tov 62 python windows explorer
在Python中,如何在Windows资源管理器中跳转到文件?我找到了跳转到文件夹的解决方案:
import subprocess
subprocess.Popen('explorer "C:\path\of\folder"')
Run Code Online (Sandbox Code Playgroud)
但我没有文件的解决方案.
Bla*_*rad 73
来自Geoff Chappell的Windows资源管理器命令行
import subprocess
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"')
Run Code Online (Sandbox Code Playgroud)
ewe*_*ody 12
由于explorer可以被覆盖,直接指向可执行文件会更安全一些。(也必须接受这方面的教育)
当您使用它时:使用 Python 3s current subprocess 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,', path])
Run Code Online (Sandbox Code Playgroud)
os.startfile()是一个更好,更安全的解决方案(不幸的是,仅在Windows中)。
当给它一个文件夹而不是文件时,它将打开资源管理器。
我知道我没有完全回答问题,因为它没有选择文件,但是使用subprocess始终是个坏主意,此解决方案可能会对其他人有所帮助。
小智 9
或者,您可以使用EasyGUI的 fileopenbox 模块打开文件资源管理器,供用户单击,然后选择一个文件(返回完整的文件路径)。
import easygui
file = easygui.fileopenbox()
Run Code Online (Sandbox Code Playgroud)
出于某种原因,在Windows 7上它总是打开用户路径,对我来说,经过研究:
import subprocess
subprocess.call("explorer C:\\temp\\yourpath", shell=True)
Run Code Online (Sandbox Code Playgroud)
对于想知道如何使用变量代替直接文件路径的人。下面的代码将打开资源管理器并突出显示指定的文件。
import subprocess
subprocess.Popen(f'explorer /select,{variableHere}')
Run Code Online (Sandbox Code Playgroud)
下面的代码只会在资源管理器中打开指定的文件夹,而不会突出显示任何特定文件。
import subprocess
subprocess.Popen(f'explorer "{variableHere}"')
Run Code Online (Sandbox Code Playgroud)
我只在 windows 上测试过
| 归档时间: |
|
| 查看次数: |
62169 次 |
| 最近记录: |