Python
文章平均质量分 78
Hilyou
这个作者很懒,什么都没留下…
展开
-
Python (Flask) 解决多进程(线程)并发操作redis 人为加锁(装饰器和非装饰器版)
import osfrom flask_apscheduler import APSchedulerfrom flask_script import Managerfrom redis import ConnectionPoolfrom app import create_app# app = create_app(os.environ.get('futures') or 'def...原创 2020-04-22 17:32:56 · 3599 阅读 · 0 评论 -
Python定时任务模块——schedule
import scheduleimport time def show(name): print("%s is showing" % name) name = 'wohucanglong'# 每隔十分钟执行一次schedule.every(10).minutes.do(show, name)# 每隔一小时执行一次schedule.every().hour.do(show,...原创 2018-09-30 10:03:49 · 3318 阅读 · 0 评论 -
Python实现基本的排序算法
list1 = [12, 25, 33, 85, 9, 45]# 冒泡排序for i in range(len(list1)-1): for j in range(len(list1)-1-i): if list1[j] > list1[j+1]: list1[j], list1[j+1] = list1[j+1], list1[j]pr...原创 2018-10-15 21:57:18 · 2684 阅读 · 0 评论 -
flask-sqlalchemy事务简单处理
from functools import wrapsfrom contextlib import ContextDecorator'''示例程序:创建一个新用户,同时将新用户关联到一家公司下,这需要两步数据库操作,但是这应该是一个事务,要么都完成,要么都未完成注意:即使只有一步,也需要如下操作flush和commit区别: > flush: 写数据库,但不提交,也...原创 2019-05-16 18:18:47 · 4810 阅读 · 0 评论 -
flask model层之通用的base_model
from basesite.exc import dbSUCCESS = 1FAILURE = 0class BaseModel: def save(self): try: db.session.add(self) db.session.commit() except Exception as e...原创 2019-05-27 11:03:59 · 1157 阅读 · 0 评论 -
Python 多线程实际应用
import threadingfrom basesite.backend.strategy.websocket_break_double_position_strategy import BreakStrategyfrom basesite.utils.okexutils.OkexWebsocket import run_websocketfrom basesite.utils.okex...原创 2019-08-09 17:26:06 · 829 阅读 · 0 评论 -
Python 多进程实现
第一种方式:from multiprocessing import Processdef run(): print("start...") for i in range(10000000): x = i * i print("end...")p1 = Process(target=run)p2 = Process(target=run)p3...原创 2019-08-15 17:31:09 · 425 阅读 · 0 评论 -
Python 抽象类的实现
import abcclass AbstractClass(abc.ABC): @abc.abstractmethod def show(self): passclass ChildClass(AbstractClass): """ AbstractClass是一个抽象类 继承它的子类必须要重写抽象方法 """ def show(se...原创 2019-08-16 09:56:08 · 519 阅读 · 0 评论 -
Python 协程用法demo
个人认为: 协程是在单个线程中轮换执行多个函数import asyncioasync def my_loop(): # 1.asyncio.sleep() 模拟io任务, 这样休眠不会阻塞事件循环; 前面加await后会吧控制权交于主事件循环, 在休眠(IO操作)结束后回复这个协程 # 2.若在协程中需要有延时操作, 应使用await asyncio.sleep(),...原创 2019-08-12 16:53:18 · 780 阅读 · 0 评论 -
基于Python3的事件驱动引擎实现及原理
"""事件驱动引擎实现: 1.初始化一个队列 用来保存事件对象 2.建两个线程: 一个用来创建事件存入队列 一个用来从队列中读取事件执行事件(执行事件的方法即注册的监听函数)"""# 系统模块from queue import Queue, Emptyfrom threading import Threadfrom time impor...原创 2019-08-16 14:30:31 · 1857 阅读 · 1 评论 -
Python中的深浅拷贝
浅拷贝:copy:只拷贝表层元素list1=list2一改皆改,引用的同一块内存空间list1 = list2.copy()from copy import copylist1 = copy(list2)list1是将list2中所有除去数据结构的数据的值拷贝了过来,而只讲数据结构的地址拷贝了过来,若存在可变元素则修改list2中的可变元素是会影响list1,否则互不影响a...原创 2018-09-29 23:06:00 · 2812 阅读 · 0 评论 -
一点Django
Django常用命令开启服务python mange.py runserver迁移python manage.py makemigrationspython manage.py migrate降版本python -m pip install --upgrade pip==9.0.3创建Django工程django-admin startproject xxx创建一个应...原创 2018-09-29 22:45:43 · 2694 阅读 · 0 评论 -
Python json文件与csv文件的相互转换
'''json格式示例{ "firstName":"Bill" , "lastName":"Gates" },{ "firstNa原创 2018-10-05 21:01:33 · 9302 阅读 · 7 评论 -
Python中函数和方法的区别
函数(FunctionType)函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。可以直接在模块中进行定义使用。所有传递给函数的数据都是显式传递的。方法(MethodType)方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。方法中的数据self和cls是隐式...原创 2018-09-13 14:50:29 · 7611 阅读 · 2 评论 -
PythonORM——SQLAlchemy
首先通过pip或者easy_install安装SQLAlchemy$ easy_install sqlalchemy然后导入SQLAlchemy,并初始化DBSession# 导入:from sqlalchemy import Column, String, create_enginefrom sqlalchemy.orm import sessionmakerfrom sqlalc...原创 2018-09-24 18:14:44 · 2846 阅读 · 0 评论 -
Python垃圾收集机制
1.引用计数增加引用计数对象被创建 x = 3.14或另外的别名被创建 y = x或作为参数被传递(新的本地引用) foobar(x)或成为一个容器的对象 myList = [123, x, ‘xyz]减少引用计数一个本地引用离开了其作用范围。比如foobar()函数结束时 对象的别名被显示销毁 del ...原创 2018-09-14 11:53:09 · 2814 阅读 · 0 评论 -
Python标准类型的分类
Python中标准类型基本上可以从三种模型来进行分类:原创 2018-09-14 12:04:20 · 2918 阅读 · 0 评论 -
Django模型之Meta属性详解
Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。而可用的选项大致包含以下几类abstract这个属性是定义当前的模型是不是一个抽象类。所谓抽象类是不会对应数据库表的。一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段。如果abstract = True 这个model就是一个抽象类app_label这个选型只在一种情况下使用,就是你...原创 2018-09-25 17:38:06 · 3182 阅读 · 0 评论 -
Python好用的日志模块
一个比较好用的日志模块——————基于文件大小切分,只保留固定个数日志文件import osimport loggingimport logging.handlersdef init_logger(log_file): dir_path = os.path.dirname(log_file) try: if not os.path.exists(dir_...原创 2018-09-21 15:13:16 · 3223 阅读 · 0 评论 -
Ubuntu远端服务器配置项目环境步骤
配置虚拟环境下载virtualenvpip install virtualenv下载virtualenvwrapperpip install virtualenvwrapper创建存放虚拟环境的目录mkdir .virtualenvs查找virtualenvwrapper.sh路径 find / -name virtualenvwrapper.sh /usr/local/...原创 2018-09-26 22:40:54 · 2819 阅读 · 0 评论 -
Python高阶函数
高阶函数:函数a以函数b作为参数并返回bmap()"""map(function, Iterator)function:函数Iterator:序列(列表)功能:将传入的参数依次作用于序列中的每一个元素,并把结果作为新的Iterator返回"""list = map(lambda x:x**2, [1, 2, 3, 4])# [1, 4, 9, 16]reduce()'''...原创 2018-10-04 11:17:08 · 2723 阅读 · 0 评论 -
Python操作文件读写
import csvfrom pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParamsfrom pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManage...原创 2018-10-04 22:26:56 · 2737 阅读 · 0 评论 -
Python发送邮件实现
一.原生发邮件方法import smtplibfrom email.mime.text import MIMETextdef sendEmail(user, pwd, sender, receiver, content, title): mail_host = "smtp.163.com" message = MIMEText(content, "plain", "ut...原创 2018-09-12 22:55:58 · 3724 阅读 · 0 评论