python学习
文章平均质量分 53
G_scsd
决胜于千里之外,运筹于帷幄之中。
展开
-
Tornado自定义路由
默认路由规则代码 由下述代码可知,路由规则都在放在 tornado.web.Application 中,强迫症的我看着不舒服不说,而且如果有多级路由的话就很难搞了,比如说用户模块、不同视图模块等等,前一级路由是固定的,后面是变动的,比如说 /user/add 、/user/delete、/user/update,类似这种的,如果数量多了,某一天user要变成users了,一个个改费时费力,看着还不优雅import tornado.webimport tornado.ioloop...原创 2022-05-27 17:14:18 · 524 阅读 · 0 评论 -
Django中使用Celery执行定时任务
这Django中使用Celery执行异步任务里是引用这个是接上一个异步任务的代码定时任务1. tasks.py中新增两个定时方法# 定时任务1@celery_app.task()def my_crontab(x, y): print(x, y) print(f'x 和 y 相加 = {x+y}') return x + y# 定时任务2@celery_app.task()def my_print(): print('一生所爱')3. celery.原创 2021-06-11 17:25:40 · 1165 阅读 · 1 评论 -
Django中使用Celery执行异步任务
DJango中使用Celery异步任务1. 安装pip install celery==4.4.72. 配置2.1 setting.pyCELERY_BROKER_URL = 'redis://127.0.0.1:6379/1'CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/1'CELERY_RESULT_SERIALIZER = 'json'2.2 setting同级目录2.2.1新建celery.pyfrom __future__原创 2021-06-09 14:38:46 · 507 阅读 · 3 评论 -
python中threading和concurrent实现多线程
一、threadingimport requestsfrom lxml import etreeimport threadingTHREAD_NUM = 10 # 启动十个线程def request(url): """ 发起请求 :param url: 需要请求的url :return: """ response = requests.get(url) if response.status_code == 200:原创 2020-12-12 19:34:29 · 771 阅读 · 0 评论 -
pipenv的使用
1. 介绍 pipenv是python官方推荐的包管理工具,这个是编写requests库的大佬写的,它集成了virtualenv, pip和pyenv三者的功能。其目的旨在集合了所有的包管理工具的长处,如: npm, yarn, composer等的优点。自动为项目创建和管理虚拟环境2. 安装pip install pipenv3. 初始化pip...原创 2020-04-30 23:03:18 · 650 阅读 · 0 评论 -
Linux环境下配置python3环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-develwget https://www.python.org/ftp/python/3.6.5/Python...原创 2020-03-31 18:48:07 · 334 阅读 · 3 评论 -
爬虫: 解析cookie和data字符串得到json格式
1. 为什么写这篇博客 方便自己用和提供给他人用2. 写这个的原因 我们在写爬虫的时候抓包的过程中,往往都会看请求中带有的cookie和发送的参数,但是我们用的过程中,cookie可以直接粘在headers头里面。但有时也要单独写,但是data是一定要单独写成json格式,如果参数一多,我遇到过最多的30多个参数的,如果一个个的复制粘贴的话,得弄很久,而且有时候弄...原创 2020-03-19 15:51:44 · 1673 阅读 · 0 评论 -
Python config 配置 之 configparser 使用方法
1. 为什么写这篇文章 我使用配置的以下几种方式: 1. 类中的 __init__ 初始化方法中 2. 单独新建一个py文件来存放config配置 3. 使用const库来存放配置 看到其他人用的配置文件方式用的是 configparser ,我原则是看到好东西就想学,然后自己查了下资料...原创 2020-03-05 11:13:34 · 3094 阅读 · 0 评论 -
python进度条
最近写的代码中写了很多函数,都是按步骤调用的,想看代码执行到第几个函数了,但又不想在每个函数中打印来表示执行到哪了,这时候就想用进度条来显示了,看网上没有我这种思路来实现的,自己来写个import timeimport tqdmdef work1(): time.sleep(1)def work2(): time.sleep(1)def work3(): t...原创 2019-06-22 22:45:39 · 3094 阅读 · 0 评论 -
使用PIL剪切图片和拼接图片
因工作需要,接触到了PIL这个包,看其他人的博客踩了一些坑,有些博客并没有注明各个位置参数的含义,今天我就将他补全切图 1. 首先先下载一张图片,我使用的是1200*1200像素的图片,将它放置在G盘的img目录下 2. 我将这张图片切成四等分,我新建了两个文件,分别是img1、img2,用来存放图片 3. 代码...原创 2018-10-20 20:07:03 · 7978 阅读 · 5 评论 -
调用API中关联的证书问题
我们在调用API时,会涉及到证书问题,这个是最麻烦的,他会将我们请求的数据进行各种加密,这个加密过程中往往加了时间戳、加密证书和公钥证书等一些数据在里面,还有加密的顺序等等,更恶心的还会将加密前的数据进行一次或多次加密,要多猥琐就有多猥琐,最终的请求中还使用了前面证书对数据进行签名,数据即使被别有用心的人拿到了,他不知道加密的顺序和加密的方法,还有证书的话,即使拿到了也没有用。 ...原创 2018-09-17 18:17:15 · 1204 阅读 · 0 评论 -
python3 MD5加密
import hashlibencry = 'csdn'.encode('utf-8')md5 = hashlib.md5() #获取MD5对象md5.update(encry) #encry为加密内容md5_value = md5.hexdigest() #md5.hexdigest()为加密结果print(md5_value)以上就是md5加密的所有代码,第二行中需要将...原创 2018-09-17 17:49:10 · 925 阅读 · 0 评论 -
python操作MySQL
首先要在pycharm中安装pymysql的包查询版本号import pymysql# 连接MySQL数据库, 本机 用户名 密码 数据库名db=pymysql.connect('localhost','root','123456','zuoye')# 获取光标cursor=db.cursor()# 执行MySQL语句cursor.execute('se...原创 2018-05-31 23:32:03 · 379 阅读 · 0 评论 -
list列表中去除重复元素时不小心踩的坑
今天闲来没事就上网搜了下python面试题,其中有一题是去除list列表中重复的元素,至少两种方法,我看了下后到,这还不简单,立马就操起编辑器就开干,用了多种方法后,就用到下面这种,一开始我还觉得应该可以,但结果一运行就傻眼了,发现得出来的列表居然为空。》》》[ ]看到结果,瞬间就懵逼了,因为前面没用过这个low的方法,但为了凑多种方法,也只好这样写了,我敲代码的思路是这样的:我在25行中用变量i...原创 2018-03-10 10:44:54 · 359 阅读 · 0 评论 -
多线程
基本概念: 线程:线程是进程中的每个子任务,不能独立存在 进程:独立的所有子任务的集合 线程、进程:目的都是想同时完成任务进程的特点:独立(内存独立,CPU使用独立)启动进程开销大(速率低),进程之间很难共享数据,和数据通信,数据安全高。线程的特点:依赖进程(内存共享,cup独立使用),线程之间共享数据容易,方便通信,线程不安全线程又可以分为:内核线程:由操作系统内核创建和撤销用户线程:不需原创 2018-01-18 17:09:39 · 247 阅读 · 0 评论 -
python多继承中子类调用父类的同名方法
今天我突发奇想,如果子类和继承了多个父类的方法名一样时,我该如何调用父类中的同名方法呢?说干就干,我立马打开了pycharm简单敲了一个多继承的代码,为了方便大家看懂,这个代码真心简单:class A: def f_a(self): print('--------A--------')class B: def f_a(self): print('-原创 2018-01-18 10:46:30 · 9341 阅读 · 1 评论 -
XML解析
什么是XML?XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。XML 被设计用来传输和存储数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法原创 2018-01-16 19:33:36 · 400 阅读 · 0 评论 -
python基本数据类型总结
总结一下前面学的字符串、列表、元组、字典的总结: 字符串: 字符串只能读取,修改后的值也只能输出一下,要想真正进行操作的话只有将操作后的参数赋值给新的变量,或者进行强转。这里的强转要值得注意的有很多地方,1.jion:join方法是以指定字符串作为分隔符,将序列中所有的元素合并为一个新的字符串,这个序列包括列表、元组。2.split:split方法是以字符串里面的一个或多个原创 2017-12-20 22:54:30 · 544 阅读 · 0 评论 -
python—2
python类型的方法中有一些细节需要谨记,比如列表中的赋值运算,有三种方法,但却有两种截然不同的地方。 比如定义一个列表 a,将a赋值给b,其中牵扯到浅拷贝和深拷贝,直接将a赋值给b,这是将a的引用给b,两个变量的地址完全相同,改其中一个则两个都变化,要想只取其中的值而不改变原来的数值,则要进行深拷贝,如下: 第一种是浅拷贝,一个变则两个都变,第二和第三种则是深拷贝,只取其中原创 2017-12-14 18:46:04 · 309 阅读 · 0 评论 -
python3—3一些常见的细节处理
1. isdigit()和isnumeric()的区别:isdigit()True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 False: 汉字数字 Error: 无isnumeric() True: Unicode数字,全角数字(双字节),罗马数字,汉字数字False: 无 Error: byte数字(单字节) 比如:原创 2017-12-16 21:10:04 · 406 阅读 · 0 评论 -
python-类属性、类方法、静态方法
类属性: 写在init外面,定义时要给它赋值,外面定义一个类时,类属性也在类相继开辟一个地址,类属性是公共的,无论哪个子类或者本身类修改属性值,他的值都可以改变,这和对象属性不同,举个例子来说,类属性就是一个家庭的资金,而对象属性就是家庭里某个人的钱,每个人都可以用家庭的资金,每用一点就改变金钱的值,一个人使用了家庭的钱后另一个人跟着去使用的话,那时候的钱就是前面一个人使用后还剩原创 2017-12-30 17:02:08 · 597 阅读 · 0 评论 -
python对象
python对象和其它语言有一些地方有所不同,不过大同小异,都有基本的格式和方法:面向对象技术: 类: 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外,类变量通常不作为实例变量使用。 数据成员:原创 2017-12-26 22:03:11 · 304 阅读 · 0 评论 -
python3 异常、自定义异常
异常类型:try: 语句体except 异常类型: 处理语句列:try: n=1/0except ZeroDivisionError: print('出现异常')》》》出现异常另一种方法:try: 语句体except (异常类型1,异常类型2): 处理语句列:try: n=1/0 s=int('hello world!')except (Zero原创 2018-01-02 15:55:35 · 5043 阅读 · 0 评论 -
python对象2
set和get方法:在python中,没有特定的set和get方法,只是人为定义出来的而已,方法名随便取,可取为set_count或者get_count,这两个的方法的作用就是在于筛选他们传递过去的值,比如年龄不能为负数之类的。class student: def __init__(self,name,sex,age): self.name=name原创 2017-12-28 17:12:36 · 320 阅读 · 1 评论 -
Python闭包、装饰器
闭包&LEGB法则:所谓闭包,就是将组成函数的语句和这些语句的执行环境打包一起时得到的对象闭包最重要的价值在于封装上下文环境下面有个列子来解释下闭包列:def funX(x): print('-----------开始------------') def funY(y): return x*y print('-----------结束原创 2018-01-13 16:04:38 · 334 阅读 · 0 评论 -
文件输入输出以及定位、序列化
读和写文件:open(filename, mode)模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。r+打开一个文件用于读写。文件指针将会放在文件的开头。rb+原创 2018-01-04 15:33:22 · 396 阅读 · 0 评论 -
python-多态
python本来就是多态的python的变量是没有类型的,只有指向的对象是有类型的,所有方法的调用都是调用对象的方法,不存在不多态的情况比如我们定义一个动物类,然后该类有两个子类,分别为狗类和猫类,另外再定义一个医院类,class pet: def __init__(self,name): self.name=name def show(self):原创 2017-12-30 16:38:48 · 822 阅读 · 3 评论 -
python网络编程
什么叫网络编程呢?简单来说就是实现计算机与计算机之间的通信python提供了两个级别访问的网络服务: 低级别的网络服务支持基本的Socket,它提供了标准的BSD Socket API,可以访问底层操作系统Socket接口的全部方法 高级别的网络服务模块SocketServer,它提供服务器中心类,可以简化网络服务器的开发什么是Socket呢? Socket原创 2018-01-23 12:25:36 · 383 阅读 · 0 评论 -
学习python必备软件
MySQL数据库软件:https://pan.baidu.com/s/1brfLOOfpython视频: https://pan.baidu.com/s/1oAomRSQ https://pan.baidu.com/s/1kWhXisfpython2.7.10 64位:https://pan.baidu.com/s/1jJSGvjSpyt原创 2018-01-31 10:18:06 · 13572 阅读 · 5 评论 -
python3--推导
Python中推导和匿名函数差不多,下面举个匿名函数的例子lst=[2,4,5,7,12]mysum=map(lambdax:x**2,lst)foriinmysum:print(i,end=' ')》》》4 16 25 49 144 匿名函数只有一行,可以将匿名函数赋值给一个变量来存放这个修改后的列表还有一种简单的tan原创 2018-01-07 13:41:08 · 433 阅读 · 0 评论