⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkzip.py

📁 用python实现的邮件过滤器
💻 PY
字号:
#!/usr/bin/env python"""\%(_prog)s - analyze imports and generate zipfile for applicationusage: %(_prog)s -f file [ -z file ] [ -m module ] [ -h ]-f file: analyze imports made by file-z file: write zip file to file (default is basename of -f arg w/ .zip ext)-m module: analyze this module (default is basename of -f arg)"""import sysimport osimport getopt_prog = os.path.basename(sys.argv[0])def usage(msg=""):    if msg:        print >> sys.stderr, msg    print >> sys.stderr, (__doc__ % globals())def main(args):    try:        opts, args = getopt.getopt(sys.argv[1:], "hm:z:f:b:")    except getopt.GetoptError, err:        usage(err)        return 1    if args:        usage("unknown args: %s" % ", ".join(args))        return 1    f = None    mod = None    zf = None    base = None    for opt, arg in opts:        if opt == "-m":            mod = arg        elif opt == "-z":            zf = arg        elif opt == "-f":            f = arg        elif opt == "-b":            base = arg        elif opt == "-h":            usage()            return 0    if f is None:        usage("-f arg is required")        return 1    if not os.path.exists(f):        usage("%s was not found" % f)        return 1    if mod is None:        mod = os.path.splitext(os.path.basename(f))[0]    if zf is None:        zf = mod + ".zip"    import modulefinder    path = sys.path[:]    path.insert(0, os.path.dirname(f))    mf = modulefinder.ModuleFinder(path)    mf.import_hook(mod)    packages = {}    import zipfile    z = zipfile.PyZipFile(zf, "w")    i = p = 0    for key in mf.modules.keys():        m = mf.modules[key]        if m.__file__ is not None and m.__file__.endswith(".py"):            dn = os.path.dirname(m.__file__)            print (base, dn, packages.keys())            if (base is not None and                dn.startswith(base) and                dn != base and                dn not in packages):                # just punt and add the entire directory                z.writepy(dn)                packages[dn] = 1                p += 1            else:                z.writepy(m.__file__)                i += 1    print "wrote", i, "files and", p, "packages to", zf    return 0if __name__ == "__main__":    sys.exit(main(sys.argv[1:]))    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -