python
Moke丶青
无
展开
-
[python] gdb调试python 安装debug-info
d原创 2022-09-13 09:40:15 · 1645 阅读 · 0 评论 -
[python] 定位问题的一些库
pyrasite-shellhttps://www.cnblogs.com/shengulong/p/8044132.html原创 2022-09-08 10:53:47 · 217 阅读 · 0 评论 -
[python] pip指定代理
代码】[python]pip指定代理。原创 2022-07-29 09:44:35 · 1194 阅读 · 1 评论 -
[python] netifaces获取本机网卡信息
import netifacesip_list = set()for iface in netifaces.interfaces(): if netifaces.AF_INET in netifaces.ifaddresses(iface): for link in netifaces.ifaddresses(iface)[netifaces.AF_INET]: ip_list.add(link['addr']) if netifaces.AF_I原创 2021-11-26 14:47:11 · 1120 阅读 · 0 评论 -
[swagger] swagger to markdown
swagger-markdownInstallationnpm install -g swagger-markdownUsageswagger-markdown [-h] [-v] -i [-o] [--skip-info]Options: -h, --help Show this help message and exit. -v, --version Show program's version number and exit. -i , --input P原创 2021-11-02 20:08:32 · 302 阅读 · 0 评论 -
[sqlalchemy] alembic常用操作
生成迁移文件sh /opt/alembic.sh revision --autogenerate --rev-id $(date -u "+%Y%m%d%H%M%S") -m "1111"upgrade headsh /opt/alembic.sh upgrade headdowngradesh /opt/alembic.sh downgrade -1``原创 2021-10-21 15:12:46 · 68 阅读 · 0 评论 -
[sqlalchemy] create Enum column
"""add_ImagesProcessing_tblRevision ID: 20211021035146Revises: 20211015034019Create Date: 2021-10-21 11:51:55.333947"""from alembic import opimport sqlalchemy as safrom sqlalchemy.dialects import postgresql# revision identifiers, used by Alembic原创 2021-10-21 15:05:19 · 109 阅读 · 0 评论 -
[python] 包编译打包rpm
如果已经写好了setup.py可以执行python setup.py bdist_wininst生成一个exe文件若要生成RPM包,执行python setup.py bdist_rpm但系统必须有rpm命令的支持。可以运行下面的命令查看所有格式的支持:root@network:/kong/setup# python setup.py bdist --help-formatsList of available distribution formats: --formats=rpm原创 2021-09-16 15:12:04 · 444 阅读 · 0 评论 -
[python] py-spy dump打印当前线程执行
py-spy dump --pid 133原创 2021-09-14 11:32:08 · 513 阅读 · 0 评论 -
[python] 打印函数调用栈
import tracebacks = traceback.extract_stack()print(s[-2][2])原创 2021-09-14 11:31:18 · 899 阅读 · 0 评论 -
[python] dict按key排序 itemgetter
import operatordt = [{ "num":1, "a":212},{ "num":3, "a":2112},{ "num":2, "a":2121},{ "num":6, "a":2122}]print(sorted(dt, key=operator.itemgetter("a")))>>>[{'num': 1, 'a': 212}, {'num': 3, 'a': 2112}, {'nu原创 2021-08-31 14:34:20 · 427 阅读 · 0 评论 -
[python] pyudev获取linux所有磁盘
@staticmethod def get_all_disk(): disks = list() context = Context() devices = context.list_devices() devices.match_subsystem("block").match_property("DEVTYPE", "disk") for dev in devices: name = ...原创 2021-05-08 09:51:08 · 775 阅读 · 0 评论 -
[python] 给定时间计算月时分
from datetime import datetime, timedeltaimport timeclear_recycle = 1delete_time = 1619424497000local_time = int(1000 * time.time())tobe_delete_time = delete_time + 1000 * 3600 * 24 * clear_recycle# 计算剩余清理时间,单位:秒left_seconds = int((tobe_delete_time原创 2021-04-27 20:09:27 · 181 阅读 · 0 评论 -
[python] sqlalchemy常用数据库操作
更新session.query(VolumeModel).update({"create_from": "xxx"})原创 2021-04-27 14:55:11 · 321 阅读 · 0 评论 -
[python] yield搭配contextmanager上下文管理器
上下文管理器配合 Python 的 contexlib 模块里的 @contextmanager 装饰器,yield 也可以用于定义上下文管理器,下面是 Python Tricks 书中的一个例子:from contextlib import contextmanager@contextmanagerdef managed_file(name): try: f = open(name, 'w') yield f finally: f原创 2021-04-26 15:29:24 · 503 阅读 · 0 评论 -
[python] 安装librados ModuleNotFoundError: No module named ‘rados‘
创建yum源vim /etc/yum.repos.d/rados.repo[ceph]name=Ceph packages for x86_64baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/x86_64/enabled=1priority=1gpgcheck=0gpgkey=https://download.ceph.com/keys/release.asc[ceph-noarch]name=Ceph noarch pack原创 2021-04-20 21:16:34 · 1597 阅读 · 0 评论 -
[python] 查看指定目录剩余空间大小
import osimport platformimport ctypesdef get_free_space_mb(folder): """ 获取磁盘剩余空间 :param folder: 磁盘路径 例如 D:\\ :return: 剩余空间 单位 G """ if platform.system() == 'Windows': free_bytes = ctypes.c_ulonglong(0) ctypes.wi原创 2021-03-11 14:33:40 · 1194 阅读 · 0 评论 -
[python] tarfile模块打压缩包
arcname=Noneimport tarfile,osfile_list = ['/tmp/wwb/a','/tmp/wwb/b','/tmp/wwb/c']with tarfile.open("/tmp/wwb/qa.tar.gz", "w:gz", encoding="utf-8") as tar_path: for item in file_list: if os.path.exists(item): p原创 2021-03-05 16:37:53 · 198 阅读 · 0 评论 -
[python] Mock单元测试总结
Python写单元大多数都会用到unittest和mock,测试代码覆盖率都会用到coverageUnittestunittest.mock 官网 https://docs.python.org/3/library/unittest.mock.htmlunittest就不详细介绍了,注意几点:测试类继承unittest.TestCase测试类、测试方法名字最好以test开头,很多工具能根据名字来自动运行,很方便测试类里面的setUp/tearDown会在每个case执行之前/之后执行,setU原创 2021-01-26 16:28:21 · 1525 阅读 · 0 评论 -
[python] 一行代码启动一个文件服务器
python -m http.server 8080原创 2021-01-25 20:07:41 · 629 阅读 · 0 评论 -
[Linux] 修改主机名
hostnamectl set-hostname node1原创 2021-01-23 17:36:26 · 172 阅读 · 0 评论 -
[python] 代码格式化 美化
yapfyafp -i test.pyyapf -i --style "{based_on_style: yapf | pep8 | google, indent_width: 4}" test.py原创 2021-01-23 17:35:25 · 821 阅读 · 0 评论 -
[python] pip安装包失败设置超时时间
pip3 --default-timeout=10000 install requests原创 2021-01-23 17:30:51 · 383 阅读 · 0 评论 -
[python] 简单的logger日志
import loggingimport logging.handlersLOG_FILENAME = 'moke.log'logger = logging.getLogger()def set_logger(): logger.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(process)d-%(threadName)s - ' ..原创 2021-01-02 13:07:33 · 199 阅读 · 0 评论 -
[python] 获取脚本路径
frozen冻结状态例如编译后出现if hasattr(sys,"frozen"): main_dir = os.path.dirname(sys.executable) full_real_path = os.path.realpath(sys.executable)else: script_dir = os.path.dirname(__file__) main_dir = os.path.dirname(os.path.realpath(sys.argv[0]))原创 2020-11-29 19:44:27 · 171 阅读 · 0 评论 -
[python] inspect及stack
def info(): stack = inspect.stack() print(stack[0]) print(stack[1])info()打印:FrameInfo(frame=<frame at 0x016A8BE8, file 'C:/Users/Moke/PycharmProjects/Str_func/t1.py', line 6, code info>, filename='C:/Users/Moke/PycharmProjects/Str_fu原创 2020-11-29 19:44:36 · 276 阅读 · 0 评论 -
[python] configpaser总结
https://www.cnblogs.com/zhou2019/p/10599953.html原创 2020-11-24 20:47:10 · 295 阅读 · 0 评论 -
[python] 内存读写操作 StringIO 与 BytesIO
介绍一下Python在内存中读写数据,用到的模块是StringIO和BytesIOStringIOfrom io import StringIOf = StringIO()f.write('hello')f.write(' ')f.write('world!')print(f.getvalue())# hello world!getvalue()方法用于获得写入后的str。要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:from io impo原创 2020-11-24 20:41:52 · 584 阅读 · 0 评论 -
[python] 上下文管理 __enter__ 与 __exit__
https://blog.csdn.net/weixin_42832313/article/details/103983657https://www.cnblogs.com/flashBoxer/p/9664813.html原创 2020-11-24 20:31:55 · 169 阅读 · 0 评论 -
[python] signal信号
https://www.cnblogs.com/madsnotes/articles/5688681.html原创 2020-11-24 20:22:51 · 119 阅读 · 0 评论 -
[python] glob
https://blog.csdn.net/u010472607/article/details/76857493/原创 2020-11-24 20:22:12 · 114 阅读 · 0 评论 -
[python] codecs
https://blog.csdn.net/qq_28072715/article/details/79387422https://blog.csdn.net/weay/article/details/80946152原创 2020-11-24 20:18:09 · 149 阅读 · 0 评论 -
[python] shutil总结
shutil被定义为Python中的一个高级的文件操作模块,拥有比os模块中更强大的函数,这里我们就来看一下Python的shutil模块中文件的复制操作函数详解1.shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖copy给文件2。import shutilf1 = open("1.txt",encoding="utf-8")f2 = open("2.txt","w",encoding="utf-8")shutil.copyfileobj(f1,f2)2.shu原创 2020-11-24 20:12:03 · 178 阅读 · 0 评论 -
[python] setter与property装饰器类中的运用
属于一种保护,代码风格吧#!/usr/bin/env python # -*- coding:utf-8 -*-class PodConfig: def __init__(self): self.__az_code = "" @property def az_code(self): return self.__az_code @az_code.setter def az_code(self, value):原创 2020-09-13 21:06:00 · 154 阅读 · 0 评论 -
[python] pyopenssl绕过根证书校验中间二级CA证书
项目中遇到一个特殊场景,只有证书链中的二级ca证书,服务器校验时只能调用二级去校验HTTPS,对pyopenssl研究了下源码,提取了一部分,可以直接注射到urllib3中,试了下urllib也是可以使用的做HTTPS双向认证时,会经常校验证书,也比较麻烦import OpenSSLimport sslfrom urllib3 import utilfrom urllib3.contrib import pyopensslclass Verify_cert(pyopenssl.PyOpenS原创 2020-09-13 20:35:49 · 847 阅读 · 1 评论 -
[python] Linux编译安装python3
安装python前,首先编译安装一些依赖,不然直接安装python后会报很多错,还需要重新安装yum -y install zlib zlib-develyum -y install bzip2 bzip2-develyum -y install ncurses ncurses-develyum -y install readline readline-develyum -y install openssl openssl-develyum -y install openssl-staticy原创 2020-09-06 18:02:27 · 1093 阅读 · 0 评论 -
[python] inspect函数类对象检查
inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等等https://www.cnblogs.com/linxiyue/p/7989947.htmlhttps://blog.csdn.net/gqixf/article/details/82768363原创 2020-07-15 21:50:24 · 350 阅读 · 0 评论 -
[python] compileall编译python代码为pyc
目录编译:compileall.compile_dir('dirname')单个文件:python -m py_compile $filename 详细原创 2020-07-15 21:47:45 · 489 阅读 · 0 评论 -
[python] pdb断点调试
pdb 是 python 的一个内置模块,用于命令行来调试 Python 代码使用介绍说到 debug,肯定是要添加断点的,这里有两种方式添加断点:1.在想要断点代码后添加 一行pdb.set_trace()若是使用这种方式,直接运行 Python 文件即可进入断点调试。2.用命令行来添加断点b line_number(代码行数)若是使用这种方式,需要 python -m pdb xxx.py 来启动断点调试。常用命令先简单介绍一下使用命令,这里不用记住,等用到的时候回来查就行。1原创 2020-07-15 21:37:12 · 2784 阅读 · 0 评论 -
[python] chardet检测编码
chardet的使用非常简单,主模块里面只有一个函数detect。detect有一个参数,要求是bytes类型。bytes类型可以通过读取网页内容、open函数的rb模式、带b前缀的字符串、encode函数等途径获得。实例:import chardet some_string = '你好,世界。'.encode('utf-8') # encode方法返回一个bytes# b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\x原创 2020-07-15 21:30:27 · 789 阅读 · 0 评论