python基础
陈大憨
小小程序员
展开
-
Django关于日期查询失效修复
在使用Django的ORM对数据进行查询时,查询是用到日期__date、__gte等失效,是由于Mysql设置导致的,执行下面语句就可以修复:mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql原创 2021-09-26 13:49:22 · 354 阅读 · 0 评论 -
Ubuntu20.4 搭建OnlyOffice文档服务器
1.安装Dockersudo apt updatesudo apt install docker.iodocker --version安装OnlyOffice文档服务器sudo docker run -i -t -d -p 80:80 --restart=always onlyoffice/documentserver-deps:可以自定义服务器的端口,用自己开放的端口号替换<PORT_NUMBER>部分。sudo docker run -i -t -d -p <PORT原创 2021-09-17 17:51:55 · 3481 阅读 · 0 评论 -
python 按行处理大文件
一般我们读取文件,都是直接把文件的内容读取到内存中,然后再对其进行处理,但是如果文件很大,例如几个G甚至几百G,这时候使用读取到内存的方式就不行了,会直接导致内存溢出而卡机,这种情况,python中的yield就很好用,下面举个简单的例子,几行代码很好理解。def read_file(file_path): with open(file_path, 'r') as file: for line in file: yield lineif __n原创 2021-07-08 14:01:04 · 528 阅读 · 0 评论 -
selenium处理多个iframe的情况
需求/难题:在使用selenium框架的时候。如果遇到那种嵌套多个iframe的页面,会导致无法定位到想要的元素。解决办法: chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--ignore-certificate-errors') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument原创 2020-11-20 10:23:00 · 1626 阅读 · 1 评论 -
python PDF加水印/公章
1.开发思路:先把pdf转化为图片,再把图片进行合并或者叠加,最后把图片转化为pdf。2.代码:# -*- coding: utf-8 -*-import fitzimport osfrom django.conf import settingsfrom PIL import Image as pilImage__author__ = 'JayChen'class ProcessPDF: def __init__(self, pdf_path, pdf_name, pdf_o原创 2020-10-16 14:44:48 · 2682 阅读 · 1 评论 -
Django aggregates简单用法。
利用Django的ORM框架实现数据库的聚合查询。1. 简单建一张数据表:class StatTable(models.Model): keyword = models.CharField(max_length=255, default=None) ranking = models.IntegerField(default=0) class Meta: db_table = 'stat_table'2. 简单介绍一下aggregates:Sum:求和C原创 2020-08-04 15:55:30 · 930 阅读 · 0 评论 -
supervisor中使用虚拟环境
如果还没有虚拟环境,首先自己创建虚拟环境,可以参考:python中virtualenvwrapper虚拟环境的安装和使用在自己项目的根目录下新建一个.conf文件,文件名自己取:mkdir supervisor.conf编辑文件:vim supervisor.conf[program:stat_table]command=/home/jay/.virtualenvs/Mproject_env/bin/python3 manage.py runscript stat_ranking --traceb原创 2020-08-03 16:40:19 · 2032 阅读 · 0 评论 -
gitlab上加速运行Django项目测试代码
项目环境:python 3.6Django 1.11Coverage 5.0减少测试代码运行时间的方法:把单一的管道改为多管道并行,最后合并测试结果减少数据库迁移的次数具体做法:1、把测试代码拆分成四部分,分别放在不同的文件夹配置文件.gitlab.yml参考:stages: - test - resultPart_one: stage: test...原创 2020-03-09 11:52:47 · 270 阅读 · 0 评论 -
Django使用django_apscheduler定时任务
在写这篇文章之前,我已经查阅了网上大部分的资料,包括官方的文档,但是还是没有解决我遇到的问题,现在还不容易解决了问题,特意记录一下。问题:任务无法启动。完整教程:安装第三方库:pip install django-apscheduler在settings.py文件的INSTALLED_APPS中加入:INSTALLED_APPS = [ '...' 'django_apsche...原创 2020-02-05 20:05:29 · 2811 阅读 · 9 评论 -
Django请求流程图
转载 2019-12-27 13:52:21 · 794 阅读 · 0 评论 -
python 中cls和self的区别
self:指的是一个具体实例的本身。如果在class中的某个方法加了@classmethod修饰器,那么这个方法不需要实例化也能直接被其他程序调用。cls:表示这个类本身。...原创 2019-12-27 13:48:56 · 880 阅读 · 0 评论 -
python内置函数issubclass()介绍
issubclass():格式:issubclass(object, subobject)object:子类;subobject:父类;作用:用于判断object是否为subobject的子类,如果是,返回True,否则返回False例子:class A: passclass B(A): pass print(issubclass(B,A)) #...原创 2019-12-26 17:44:31 · 285 阅读 · 0 评论 -
python的getattr()方法介绍
getattr():作用:返回一个对象的属性值。定义:getattr(object, name, default)object: 一个实例化的对象;name:这个实例化对象的属性名;default:默认值,当对象取不到属性值的时候,就会返回默认值,如果没有设置默认值,会报错 AttributeError。下面是菜鸟教程的例子:>>>class A(object)...原创 2019-12-26 00:53:22 · 854 阅读 · 0 评论 -
@property的基本使用
@property的作用:广泛用于类的定义中,把方法变成属性,保证对参数进行必要的检查,减少程序运行时出错的可能性。例子:class Student(object): @property def score(self): return self._score @score.setter def score(self, value): ...原创 2019-12-17 14:48:34 · 4908 阅读 · 0 评论 -
Client持久化的坑
Client.get()和Client.post()都会自动做持久化处理,在发送请求时,必须设置follow=True举个例子:def test_get(self):url = “/shop/”# 在用户没有登陆的情况下访问失败,返回302状态码response = self.client.get(url)self.assertEqual(response.status_code, s...原创 2019-12-16 09:05:06 · 151 阅读 · 0 评论 -
factory-boy创建manytomany伪数据
1.安装factory-boy库:pip install factory-boy本案例使用的是基于Django的ORM。新建两个model:Shipment:class Shipment(AbstractCommodityList, DateSlugMixin, DateListMixin, TrackingMixin): slug = models.CharField(_('...原创 2019-12-05 10:29:32 · 663 阅读 · 0 评论 -
lambda的基本使用
语法:lambda argument_list:expression特性:lambda函数是匿名的;lambda函数有输入和输出;例子:lambda x,y:x∗yx,y:x∗y;函数输入是xx和yy,输出是它们的积x∗yx∗ylambda:None;函数没有输入参数,输出是Nonelambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性...转载 2019-11-21 10:48:51 · 248 阅读 · 0 评论 -
python hasattr()方法的使用
描述:用于判断对象是否包含对应的属性。语法:hasattr(object, name)参数:object:–对象。name:–属性名字。返回值:如果对象中有这个属性,就返回True,否则返回False。实例:class Dog: name = Tomdog = Dog()print(dog, 'name')print(dog, 'age')输出结果:True...转载 2019-11-18 09:51:56 · 184 阅读 · 0 评论 -
python集合增加数据的操作方法
add():作用:增加一个数据到集合。集合的特点:数据是没有顺序的;数据不会重复;例子:s1 = {10,20,30}s1.add(40)print(s1)输出结果:{40, 10, 20, 30}update():作用:把序列增加到集合。例子:s1 = {10,20,30}s1.update([10,20,50])print(s1)输出结果:{10,...原创 2019-10-30 00:15:41 · 4294 阅读 · 0 评论 -
python3修改list
reverse():作用:把列表的所有元素的顺序倒转语法:列表.reverse()例子:my_list = ['a', 'b', 'c', 'd']my_list.reverse()print(my_list)输出结果:['d', 'c', 'b', 'a']sort():作用:排序,默认是升序语法:列表.sort()例子:my_list = ['a', 'c...原创 2019-10-27 14:44:11 · 339 阅读 · 0 评论 -
python3列表的删除操作
del:作用:删除指定的列表或者指定下标的列表的数据语法:del 列表名例子:list_test = ['xiaoming', 'xiaohong', 'xiaogang']list_test2 = ['a','b', 'c']del list_test2[0]del list_testprint(list_test2)print(list_test)输出结果:['b'...原创 2019-10-27 14:14:24 · 362 阅读 · 0 评论 -
python列表相关操作
insert():作用:在列表指定的位置插入数据。语法:列表.insert(位置下标,数据)例子:my_list = ['a', 'b', 'c']my_list.insert(2,'d')print(my_list)输出结果;['a', 'b', 'd', 'c']append():作用:列表结尾追加数据。语法:列表.append(数据)例子:my_list...原创 2019-10-27 01:29:13 · 107 阅读 · 0 评论 -
pyhon删除空白符
strip():可以删除字符串两端的空白符;rstrip():可以删除字符串右侧的空白符;lstrip():可以删除字符串左侧的空白符;举个例子:a = ' 我爱python 'b = a.strip()print(b)结果:我爱python...原创 2019-10-24 23:11:48 · 98 阅读 · 0 评论 -
python字符串常用的方法
find():检测某个字串是否包含在这个字符串中,如果包含在其中,则返回要查找的字串的第一个字符的下标,如果字串不包含在字符串中,则返回-1字符串.find(‘需要查找的字串’, ‘查找开始的下标’,‘查找结束的下标’)查找开始的下标的默认值是0,可以不写;查找结束的下标的默认值是字符串的长度-1,可以不写。举个例子:a = 'abcdefg'b = a.find('bcd')...原创 2019-10-24 00:19:47 · 188 阅读 · 0 评论 -
python 切片
序列名[开始的位置:结束的位置:步长]例子:a = 'abcdef'print(a[1:3:1])输出结果:bc注意:开始的位置的默认值是0,可以不写,如:a[:3:1]结束的位置默认是序列的长度,可以不写,如:a[1::1]步长的默认值是1,可以不写,如a[1:3]步长如果是负数,则得到的序列为原序列的倒过来,如:a[::-1]输出:'fedcba'...原创 2019-10-23 21:30:58 · 101 阅读 · 0 评论