【问题标题】:How to Search in Windows with Python subprocess如何使用 Python 子进程在 Windows 中进行搜索
【发布时间】:2017-04-13 14:47:10
【问题描述】:
-
subprocess如何用于在Windows文件资源管理器中打开特定的本地或网络目录,并搜索带有特定字符串的图像文件名。李>
- 在这种情况下,要求是:
-
在文件资源管理器中仅显示特定图像(在众多图像中),以便快速进行视觉验证。
- 为此,我不感兴趣知道如何使用
os 或pathlib 搜索Windows。这些方法在Find a file in python
中有清楚的解释
【问题讨论】:
标签:
python
windows
subprocess
popen
explorer
【解决方案1】:
- 注意:搜索位置必须是 Windows 的
indexed
- 在
Control Panel 中查找Indexing 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}&"')
-
subprocess.Popen 来自 Python 标准库 Subprocess management。
-
search-ms:parameter=value[&parameter=value]& 来自 MSDN Getting started with parameter-value arguments。
- 参数值参数可以通过多种方式配置,不限于此处所示的方式。例如,文件夹只会定位本地文件夹,但定位将适用于网络和本地文件夹。
-
f'some_string {variable}' 来自 PEP498:格式化字符串文字。
-
explorer & /root 是 Windows 命令。