假设我要为Windows搜索字段(当您按下Windows
键并开始键入时打开的字段)提供一种替代方法。
目的是要有一个输入字段,在其中输入文件或文件夹的名称,然后得到所有匹配的文件/文件夹的列表。
我尝试使用os.walk
在Python中实现这一点:
import os
search = "data"
result = []
for dirpath,subdirs,files in os.walk("/"):
if search in os.path.basename(dirpath):
result.append(dirpath)
for file in files:
if search in file:
result.append(file)
return result
可悲的是,这需要很长时间才能在整个文件系统中搜索与搜索匹配的文件和文件夹。
使用FindFiles中的win32api似乎更快,但是我只能在执行Python脚本的目录中搜索它,而不必在子文件夹中搜索。
我发现an example上如何使用C ++上的win32api递归搜索所有已安装的驱动器 想知道:是否已有针对Python的C / C ++扩展来阻止此类搜索?
或者您能想到使用python另一种方式实现这一目标的方法吗?