随笔分类 - python-modules
摘要:多表联合查询 #按用户名摸糊查询 trans_details.query.join(Uses).filter(Users.username.like('%xx%')) #select xxx from trans_details inner join trans_details on users.i
阅读全文
摘要:https://zhuanlan.zhihu.com/p/95563033 1 概念 名词 job 最小执行单位,创建一个Job,然后指定要执行的函数 trigger 触发器,根据时间规则,计算得到下次执行时间。 executer next_run_time 触发规则有trigger的时间,或者这个
阅读全文
摘要:re.match https://blog.csdn.net/chenmozhe22/article/details/80601971
阅读全文
摘要:日志相关概念 内容 日志可以追踪软件运行时所发生的事件,开发者可以在代码中调用记录日志的模块来表明程序运行到这里发生了什么。 一条日志信息可以包括: 打印时间 日志级别 发生位置 日志内容 等级 在测试环境需要debug等级日志,正式上线后需要info等级日志,如果有需要,线上业务的日志等级也可以调
阅读全文
摘要:z = zipfile.ZipFile('accces.log.zip', 'w', zipfile.ZIP_DEFLATED) z.write('/app/nginx/logs/access.log') z.close() #创建一个zip文件,模式为write,采用压缩。 #往zip文件中写入需要压缩的文件 #关闭压缩文件
阅读全文
摘要:json.loads json.dumps 如果py后台要传递一个字典到前端,直接HttpResponse这个字典是不行的,而需要转化为json dumps就是把字典转化为json编码(可以理解为字典转为字符串,查看type为str)
阅读全文
摘要:os basedir = os.path.dirname(os.path.abspath('.')) #得到当前路径的绝对路径,然后得到上级目录。 uploadfile = os.path.join('upload',photo.name) #目录拼接,win和linux都适用 在django se
阅读全文
摘要:argv是一个list,接受外部向程序传入的参数。argv[0]为文件名,arvg[1..]为文件后跟的参数 退出程序,带自定义返回值 sys.path,就是shell里的$PATH。
阅读全文
摘要:在linux中可以用shell来进行系统交互,并返回两个我们关心的数据:标准输出和返回值。旧版python中可以使用os.system,os.popen模块,但2.4版本开始官方建议使用subprocess。因为前面几个容易出错。 subprocess允许程序生成新的进程,然后连接到input/ou
阅读全文
摘要:time.time() 得到当前时间戳(1970年到现在的浮点秒数) time.sleep(n) 休眠n秒 Unix时间戳规范 UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
阅读全文
摘要:是一个命令行解析包,用于在运行py文件时解析后面带的参数。
阅读全文
摘要:应用场景: 1 把一些python脚本推广到更多机器上运行,但无法保证他们都有安装python解释器,所以,打包可以免去这一障碍 win: 安装: 在cmd中运行pip install pyinstaller。 命令: F 生成单个exe文件而不是一堆 w 去掉命令行窗口(默认运行exe时会同时出现
阅读全文
摘要:参考: http://www.rabbitmq.com/tutorials/tutorial-one-python.html http://www.rabbitmq.com/tutorials/tutorial-three-python.html 1 基本 RabbitMQ是一个消息中间件(mess
阅读全文
摘要:1 基本理解 python不支持真多线程,无法在单进程中调用多核cpu。对于cpu密集型任务,可以使用多进程。python会调用OS原生多进程,运行在多核上,以此提高运行速度。 2 基本实现 3 父子进程间关系 4 class Queue() 线程共享内存数据,进程的内存是独立的。 在queue模块
阅读全文
摘要:1 基本理解 Queue是一个在内存中,元素带顺序的容器。 解耦:数据待处理线程把数据交给队列,不需要关心处理者是谁。处理者从队列中拿数据处理,不和待处理线程接触。 效率:数据待处理线程把数据交给队列,然后继续自己的工作。处理者可以多线程并发处理。 和列表的区别:队列中的数据取出就会消失。列表不会。
阅读全文
摘要:1 基本实现 Thread(target=函数名,args=(以元组形式传递的实参,要加",")) th = threading.Thread(target=run,args=(i,))就是实例化一个线程 th.start()就是对实例调用启动函数。 在内部,主线程就会创建30个子线程,子线程并发执
阅读全文
摘要:使用subprocess.Popen调用shell cmd,把结果输出到文件 把文件的每行数据读出来,然后用split方法转化为列表,根据内存值这个元素进行判断。 把ip和符合条件的行合成一个列表。然后用"\n".join(),以换行符为分隔符转为字符串,目的是发送邮件。 判断列表的长度,大于1表示
阅读全文