PYTHON
XiaoH0_0
Fresh Meat
展开
-
[PYTHON]REPO增加自定义命令
repo中新增命令:repo采用的插件模式,只需要在subcmds文件夹下新增文件即可。文件名称必须要和命令同名。文件内容可以参考subcmds下各种命令的实现,比如最最简单的version.py命令是repo version命令的实现。基本上就是实现一个Execute函数调用,同时维护命令说明。命令运行方面,可直接调用subprocess命令执行命令行来实现。...原创 2020-12-15 16:17:09 · 310 阅读 · 1 评论 -
[PYTHON]从字典中删除一个key
如果确定这个key存在,用del my_dict[key]即可;如果不确定是否存在,也不想判断:用my_dict.pop(‘key’, None);原创 2020-12-02 18:59:52 · 6882 阅读 · 0 评论 -
[PYTHON]在json文件中描述正则表达式时进行转义
如果在json文件中遇到需要转义的正则表达式字符,需要用’\‘双反斜杠的方式进行转义{ “regex_expression”: ".*\\[Error\\].*"}原创 2020-12-02 18:51:34 · 1131 阅读 · 0 评论 -
[PYTHON]统计函数运行耗时的装饰器
使用时在函数前加上@Titaimport loggingclass Tita: def __init__(self, func): self._func = func self._counter = {} def __call__ (self, *args, **kwargs): logging.debug("function {} args: {} start".format(self._func.__qualname__, args)) start = datetime.dat原创 2020-11-05 09:55:24 · 389 阅读 · 0 评论 -
[PYTHON]字典生成可阅读的json文件
dd = {}# 添加字典内容with open("a.json", "w") as f:f.write(json.dumps(dd, ensure_ascii=False, indent=4, separators=(',', ':')))原创 2020-11-03 09:08:36 · 365 阅读 · 0 评论 -
[flask]启动时指定端口
app.run(host="0.0.0.0", port=int("8000"), debug=True)原创 2020-10-28 10:43:10 · 3413 阅读 · 0 评论 -
[PYTHON]将任意字符串转换成日期格式
import osimport sysimport timeimport datetimeif __name__ == "__main__":data = 'Wed Apr 22 10:14:20 2020 +0800'data = data.replace(' +0800', '')time_format=datetime.datetime.strptime(data,'%a %b %d %H:%M:%S %Y')print(datetime.datetime.strftime(time_原创 2020-10-26 09:12:50 · 1583 阅读 · 0 评论 -
[PYTHON]打印出错后的详细信息
python3import tracebacktry: passexcept Exception as err: traceback.print_exc()原创 2020-09-27 13:13:55 · 527 阅读 · 0 评论 -
[PYTHON]获取参数信息
使用argparse模块import argparseparser = argparse.ArgumentParser(description='xxxx')parser.add_argument('--src_dir', '-src', help='dir store source to pack', required=True)parser.add_argument('--dest_dir', '-dest', help='dir to store pack output', required=原创 2020-09-22 10:13:02 · 254 阅读 · 0 评论 -
[PYTHON]命令行使用模块功能
linux通过命令行调用python解压缩模块的解压功能:zipfile支持lzma压缩和解压缩,可直接解压缩lzma压缩文件:python3 -m zipfile --helppython3 -m zipfile -e output.zip output原创 2020-09-10 13:30:05 · 258 阅读 · 0 评论 -
[PYTHON]解析xml
#!/usr/bin/env python3# -* - coding: UTF-8 -* -import osimport sysfrom xml.etree.ElementTree import parseif __name__ == "__main__": path = sys.argv[1] doc = parse(path) # 从第二层节点开始查找,doc默认已经指向第一层根节点 for item in doc.iterfind('Nodes/No原创 2020-09-10 11:27:44 · 105 阅读 · 0 评论 -
[PYTHON]压缩成tar.gz文件
将archive_path目录下的文件打包到tar.gz # compress tar = tarfile.open(gz_dir, "w:gz") for item in os.listdir(archive_path): tar.add(os.path.join(archive_path, item), arcname=archive_path) tar.close()原创 2020-09-09 13:36:34 · 1401 阅读 · 0 评论 -
[PYTHON]修改当前进程环境变量
myenv = os.environmyenv["PATH"] = "xxxx:" + myenv["PATH"]【注意】:此方法仅在python的当前进程中生效,如果此时通过subprocess启动新进程,需要设置env=myenv将环境变量传入;原创 2020-09-08 17:56:12 · 1539 阅读 · 0 评论 -
[PYTHON]subprocess获取标准输出与标准错误
# 运行cmd过程中获取标准输出与标准错误def run_cmd(cmd): result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) while True: r = result.stdout.readline().strip().decode('utf-8') if r: logging.debug(r)原创 2020-08-21 17:52:10 · 3183 阅读 · 0 评论 -
[PYTHON]压缩某个目录
import zipfileimport osimport loggingdef zip_folder(fullpath, file_name): """ function for zipfolders """ try: startdir = fullpath file_news = file_name z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_BZIP2) for原创 2020-08-11 18:38:03 · 259 阅读 · 0 评论 -
[PYTHON]创建完全独立于主进程的后台进程,即便主进程退出,后台进程仍然继续执行
创建完全独立于主进程的后台进程,即便主进程退出,后台进程仍然继续执行方法:pid = os.fork()if pid == 0: os.umask(0) os.setsid() #do something os._exit(0) else: pass说明:s:关机t:倒计时后强制关机...原创 2019-07-17 20:12:15 · 1363 阅读 · 0 评论 -
[PYTHON]Scons工具简介
Scons工具简介:Scons是一个类似于make的构建工具,通过定义Scons描述文件(Sconstruct),即可实现类似于make命令的本地编译功能。方法:基本框架是先绘制图,这里的绘制图是分散在不同目录下的不同文件中的(Sconstruct文件,和Makefile文件类似的作用);Sconstruct文件内部可建立对于其他节点、lib的依赖;Scons读取每个目录下定义的脚本文...原创 2019-07-29 22:31:19 · 1368 阅读 · 0 评论 -
[PYTHON]MultiProcess多进程使用
MultiProcess多进程使用:直接import和调用python的multiprocess库(分别使用Pool和Process来启动和管理多进程);方法:1.类库:import abc import multiprocessing import queue class IExecutor(object): def __init__(self): p...原创 2019-08-03 10:18:17 · 634 阅读 · 0 评论 -
[PYTHON]获取尽可能随机的随机数
获取尽可能随机的随机数:python中的random模块虽然没有入参,可以设置seed参数的,如果不设置的话,默认就是使用time作为seed参数。但是这种默认,会使用int类型进行设置,这就导致了时间精度的降低,短时间内生成的随机数是相同的情况,可以手动指定一下(精确到更后面的小数点)。方法:import randomtime_seed = "%.20f" % time.time() ...原创 2019-07-30 22:17:31 · 584 阅读 · 0 评论 -
[PYTHON]获取两个list的不同之处
获取两个list的不同之处方法:假设list1和list2是两个需要比较差异的列表:diff_list = list(set(list1) - set(list2))说明:转换为set再相减的目的去除list中重复的元素;...原创 2019-07-28 14:10:22 · 5736 阅读 · 0 评论 -
[PYTHON]导入当前目录下的模块
导入当前目录下的模块:方法:import .xxx说明:在import之后加上.表示导入的文件和当前py文件在同一个目录。原创 2019-08-06 22:26:00 · 4189 阅读 · 0 评论 -
[PYTHON]字符串逆序
字符串逆序方法:abc转为cba:str = 'abc'str[::-1]原创 2019-08-16 21:18:14 · 602 阅读 · 0 评论 -
[PYTHON]将字典按照key值进行排序
将字典按照key值进行排序方法:sorted_dict = dict(sorted(orig_dict.items(), key=lambda kv: (kv[0])))说明:kv[0]表示按照key值进行排序原创 2019-07-17 20:02:07 · 1511 阅读 · 0 评论