📄 findexe
字号:
#! /usr/bin/env python2.2#### vi:ts=4:et####---------------------------------------------------------------------------#### Author:## Markus F.X.J. Oberhumer <markus@oberhumer.com>## Copyright:## Distributed under the terms of the GNU General Public License.## Description:## xx## Usage:## python findexe ls## python findexe "python*" [glob expression]##---------------------------------------------------------------------------##import fnmatch, getopt, os, re, string, sys# /***********************************************************************# //# ************************************************************************/opts = { "abspath": 0, "realpath": 0,}def getname(n): if opts.get("abspath"): n = os.path.abspath(n) if opts.get("realpath"): n = os.path.realpath(n) if opts.get("normpath"): n = os.path.normpath(n) if opts.get("normcase"): n = os.path.normcase(n) return ndef main(argv): longopts = opts.keys() longopts.sort() xopts, xargs = getopt.getopt(argv[1:], "", longopts) ##print xopts, xargs for o, a in xopts: if o[:2] == "--": o = o[2:] assert o ##print o, a if not a: a = 1 opts[o] = a # path = os.environ.get("PATH", "") path = string.splitfields(path, os.pathsep) # re_flags = 0 if os.name == "nt": re_flags = re.I patterns = [] for pat in xargs: p = fnmatch.translate(pat) r = re.compile(p, re_flags) patterns.append(r) # result = [] for dir in path: if not dir or not os.path.isdir(dir): continue try: names = os.listdir(dir) except: names = [] names.sort() for n in names: for pat in patterns: if pat.match(n): fn = os.path.join(dir, n) if os.path.isfile(fn): exe = getname(fn) if not exe in result: result.append(exe) for r in result: print rif __name__ == "__main__": sys.exit(main(sys.argv))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -