python
import logging from logging import handlers logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s") filehandler = logging.handlers.TimedRotatingFileHandler("%s/logs/merge.log" % sys.path[0], when='D', interval=1, backupCount=10) filehandler.suffix = "%Y-%m-%d.log" filehandler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') filehandler.setFormatter(formatter) logging.getLogger('').addHandler(filehandler) from concurrent.futures import ThreadPoolExecutor if tm: //tm >>list with ThreadPoolExecutor(max_workers=5) as executor: executor.map(combine,tm) import signal def handler(signalnum,frame): while True: if a > 5: exit(0) a += 1 if __name__ == '__main__': signal.signal(signal.SIGTERM, handler)
dict.pop('key') set.remove(sas)
sorted(dict.items(), key= lambda x : x[1]) sorted(dict.items(), key= lambda x : x[0], reverse=True) 字典按key、value排序
continue \ pass \ break
any() all()
copy() deepcopy()
global \ nonlocal : 全局变量 、 外部函数变量
""" jinja2 """
from jinja2 import PackageLoader,Environment,FileSystemLoader env = Environment(loader=FileSystemLoader('/tmp')) templates = env.get_template("test.txt") templates.render(test='888')