如果要从一个文件夹下找到自己需要的内容,以前是用os.walk来完成,但后来发现那样效率太低了,于是可以用Everything先搭建个服务器,然后再用python调用Everything的Python Api来获取自己需要查询的内容,最关键的时间这样的效率要比之前的高很多。
安装Everything搭建服务器,这里不再重复,可以参考下面的链接
Everything快速搭建HTTP文件服务器
下面说下Python查询的操作。
import urllib2
import json
from contextlib import closing
def readUrl(url):
with closing(urllib2.urlopen(url)) as ufo:
return ufo.read().decode("utf-8")
def searchFile(text):
content = readUrl("http://lulongfei:8080/?search={0}&json=1&path_column=1&sort=path".format(urllib2.quote(text)))
return json.loads(content, encoding="utf-8")
if __name__ == '__main__':
searchFile('hanli')
结果为
{
"totalResults":2,
"results":[
{
"type":"file",
"name":"0103-0120_00C_004_hanli_default_ok.mov",
"path":"D:\\hello"
},
{
"type":"file",
"name":"0102-0230_00A_002_hanli_default_ok.mov",
"path":"D:\\hello\\0102_S0230_0060"
}
]
}
更多参数可以查看Everything的文档,里面的flags说明的非常详细。