如何使用 Python 子进程在 Windows 中搜索

Tre*_*ney 5 python windows explorer subprocess popen

  • 如何在 Windows 文件资源管理器中subprocess打开特定的本地或网络目录,并搜索具有特定字符串的图像文件名。
  • 在这种情况下,要求是:
    • 在文件资源管理器中仅显示特定图像(众多图像中的一个),以进行快速视觉验证。
  • 为此,我对了解如何使用或搜索 Windows不感兴趣Find a file in python 中清楚地解释了这些方法ospathlib

在此输入图像描述

Tre*_*ney 2

  • 注意:搜索位置必须是indexedWindows
    • 寻找Control PanelIndexing Options
import subprocess

query_string = 'file_name.png'
local_path = r'C:\Users\your_name\Pictures' # r is raw for dealing with backslashes
network_path = r'\\your\network\fold\path'

# for a network location
subprocess.Popen(f'explorer /root,"search-ms:query={query_string}&crumb=location:{network_path}&"')

#for a local folder
subprocess.Popen(f'explorer /root,"search-ms:query={query_string}&crumb=folder:{local_path}&"')
Run Code Online (Sandbox Code Playgroud)
  1. subprocess.Popen来自Python标准库子进程管理
  2. search-ms:parameter=value[&parameter=value]&来自 MSDN参数值参数入门
  • 参数-值参数可以通过多种方式进行配置,但不限于此处所示的方式。例如,文件夹只能定位本地文件夹,但位置适用于网络和本地文件夹。
  1. f'some_string {variable}'来自 PEP498:格式化字符串文字。
  2. explorer& /root是 Windows 命令。