随笔分类 - 02-python
python基础
摘要:本文运行流程介绍来自jumpserver版本号:v2.23.2 入口文件 run_server.py run_server中通过subprocess.call,用python3运行了同级目录下jms,并传入参数 start all,进入jms.py 首先配置BASE_DIR和APP_DIR全局变量,
阅读全文
摘要:工作上会经常用到不熟悉的第三方模块,大多数时候会选择看文档、百度谷歌、看源码等形式去把它用起来。几年工作经验下来源码看的不少了,但当面试被问到django的生命周期时,只能浅谈根据wsgi协议会走application,后续如何返回response一概不知。于是抽时间读了读django的源码。 一、
阅读全文
摘要:一、调用步骤: 将go代码编译成so库 -> python中通过ctypes引用so库并指定需要调用的函数(同时可指定传入参数类型和返回值类型) -> 指定后按python使用函数方式调用。 需要注意的是:python和go之间参数传递是需要经过C的数据类型转换的,因此需要了解python中ctyp
阅读全文
摘要:背景:最近在做的全域事件项目,快要靠近尾声了,需要用到uwsgi部署至生产环境,由于之前是debug模式,运行项目也是通过命令 python manager.py runserver (manage是通过flask_script创建的脚本管理,用于类似django的数据库初始化、迁移和管理app等操
阅读全文
摘要:利用signal模块,可以给函数设置一个超时时间(精确到秒),结合装饰器实现:超时时间内函数运行完成正常退出,超时时间内函数未运行完成则抛出Timeout异常。 1 # coding:utf8 2 import time 3 import signal 4 5 6 # 自定义超时异常 7 class
阅读全文
摘要:日期时间格式字符串转时间戳: 1 import time 2 3 def produce_ctime(stringTime): 4 """ 5 日期时间格式字符串 -> 时间戳 6 :param stringTime: 日期时间格式字符串; str -> "%Y-%m-%d %H:%M:%S" 7
阅读全文
摘要:最近由于增加了很多新的服务,服务器经常会因为oom、磁盘空间不足等原因造成各种各样的问题。所以需要写一个小工具完成对各服务器的巡检。 思路比较简单:利用paramiko这个库,在服务器上执行linux命令并将结果返回,然后通过正则表达式匹配想要的数据并进行简单数据处理 就能知道各服务器上资源占用情况
阅读全文
摘要:参考:https://www.cnblogs.com/navysummer/p/10648520.html
阅读全文
摘要:一、Django: 一对一: 在任意一张表中定义一个字段,models.OneToOneField定义: # 比如用户与身份证表:一个用户只能有一张身份证,一张身份证只能属于一个用户 class User(models.Model): user = models.CharField(max_leng
阅读全文
摘要:各种UnicodeDecodeError报错,xxx编码不能解码xxxx 在xx.py文件。。。。 找到报错文件加上这句: if sys.getdefaultencoding() != 'gbk': reload(sys) sys.setdefaultencoding('gbk') 或者: if s
阅读全文
摘要:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 1. 日志级别 日志一共分成5个等级,从低到高分别是: DEBUG INFO WARNING ERROR CRITICAL 说明: DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行
阅读全文
摘要:hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。需要注意的是name要用括号括起来 1 >>> class test(): 2 ... name="xiaohua" 3 ... def r
阅读全文
摘要:出现这个错误是因为闭包内返回的应该是函数的引用,而不是一个函数对象本身。 错误修改:把return后面的函数括号去掉即可(使用IDE写程序的时候一定要注意这种错误,大部分IDE一个TAB键就会把括号加上)
阅读全文
摘要:1. 函数引用 1 def test1(): 2 print(" in test1 func ") 3 4 # 调用函数 5 test1() 6 7 # 引用函数 8 ret = test1 9 10 print(id(ret)) 11 print(id(test1)) 12 13 #通过引用调用函
阅读全文
摘要:1. __doc__ 表示类的描述信息 class Foo: """ 描述类信息,这是用于看片的神奇 """ def func(self): pass print(Foo.__doc__) #输出:类的描述信息 2. __module__ 和 __class__ __module__ 表示当前操作的
阅读全文
摘要:with open(文件) as f: pass open方法的返回值赋值给变量f,当离开with代码块的时候,系统会自动调用f.close()方法,with的作用和使用try/finally语句是一样的。 上下文管理器: 任何实现了__enter__()和__exit__()方法的对象都可称为上下
阅读全文
摘要:1.类属性、实例属性: 它们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同 实例属性属于对象 类属性属于类 类属性在内存中保存一份,实例属性在每个对象中保存一份 2.实例方法、静态方法和类方法: 实例方法:由对象调用;至少一个self参数;执行实例方法时,自动将调用该方法的对象赋值给s
阅读全文
摘要:property属性的定义和调用注意点: 定义时,在实例方法的基础上添加@property 装饰器;并且仅有一个self参数 调用时,无需括号 python的property属性的功能是:property属性内部进行一系列的逻辑运算,最终将计算结果返回。 property属性的两种方式: 装饰器 即
阅读全文
摘要:为什么要封装: 在使用面向过程编程时,当需要对数据处理时,需要考虑哪个模板中哪个函数来进行操作,但是当用面向对象编程时,因为已经将数据存储到了这个独立的空间中,这个独立的空间(即对象)中通过一个特殊的变量(__class__)能够获取到类(模板),而且这个类中的方法是有一定数量的,与此类无关的将不会
阅读全文
摘要:1. import 搜索路径 路径搜索 从上面列出的目录里依次查找要导入的模块文件 '' 表示当前路径 列表中的路径的先后顺序代表了python解释器在搜索模块时的先后顺序 程序执行时添加新的模块路径 sys.path.append('/home/itcast/xxx') sys.path.inse
阅读全文

浙公网安备 33010602011771号