Python搭配Everything来搜索文件夹里的内容

如果要从一个文件夹下找到自己需要的内容,以前是用os.walk来完成,但后来发现那样效率太低了,于是可以用Everything先搭建个服务器,然后再用python调用Everything的Python Api来获取自己需要查询的内容,最关键的时间这样的效率要比之前的高很多。

安装Everything搭建服务器,这里不再重复,可以参考下面的链接
Everything快速搭建HTTP文件服务器

下面说下Python查询的操作。

Python搭配Everything来搜索文件夹里的内容_第1张图片
可以不设置用户名和密码

Python搭配Everything来搜索文件夹里的内容_第2张图片

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说明的非常详细。

你可能感兴趣的:(Python)