![](https://img-blog.csdnimg.cn/20190108094040707.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
python
文章平均质量分 53
学习python道路中的一些经验和踩过的一些坑。
他说少年如歌
现在不常看博客,有问题可通过qq联系,937035773.
展开
-
Loguru封装类,可直接使用
import timefrom loguru import loggerfrom pathlib import Path# 获取当前文件路径的父目录project_path = Path.cwd().parentlog_path = Path(project_path, "log")t = time.strftime("%Y_%m_%d")class Loggings: __instance = None logger.add(f"{log_path}/interfac.转载 2022-03-18 14:26:01 · 1161 阅读 · 1 评论 -
python--字典的排序
看到一篇python 字典(dict)按键和值排序,觉得挺不错的,现在就分享给大家,也给大家做个参考。python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:1 下面的是按照value的值从大到小的顺序来排序。dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.items(), key=lambda d:d[1]原创 2021-03-21 17:19:47 · 1180 阅读 · 0 评论 -
python——洗牌算法(自己写的代码)
博客也是看到了一个面试题,然后去找了洗牌算法的资料,最后自己写了一个代码。(如果想了解洗牌算法,可以去这篇文章点我)代码:# 洗牌算法import randomdef shuffel(lst): l = len(lst) if l <= 1: return lst i = 0 while l > 1: ...原创 2019-03-19 15:53:19 · 2274 阅读 · 1 评论 -
python——洗牌算法
原地址:洗牌算法对这个问题的研究始于一次在群里看到朋友发的洗牌面试题。当时也不知道具体的解法如何,于是随口回了一句:每次从剩下的数字中随机一个。过后找相关资料了解了下,洗牌算法大致有3种,按发明时间先后顺序如下:一、Fisher–Yates Shuffle算法思想就是从原始数组中随机抽取一个新的数字到新数组中。算法英文描述如下:Write down the numbers from...转载 2019-03-19 15:50:27 · 3903 阅读 · 0 评论 -
python——面试题
写一个python程序,接受一个参数(文件目录),如果目录存在,删除它,否则输出出错信息。方法:利用python的中的os模块,os.path.isdir()可以用来判断输入的文件目录是否存在,如果存在我们再用os.rmdir(filepath)来删除该目录,如果不存在该目录,就输出错误的信息。代码:import osfilepath = input("请输入文件路径:")...原创 2019-03-19 11:29:26 · 360 阅读 · 0 评论 -
python——mysql索引
索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构。类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。MySQL中常见索引有:普通索引 唯一索引 主键索引 组合索引1.普通索引:普通索引仅有一个功能:加速查询创建表 + 索引:create table in1( nid int not null auto_increm...转载 2018-12-14 11:12:12 · 278 阅读 · 0 评论 -
python——mysql自增字段AUTO_INCREMENT值得修改
在之前得文章中我们说过,如果使用delete对数据库中得表进行删除,那么只是把记录删除掉,并且id的值还会保持上次的状态。即删除之前如果有四条数据,删除之后,再添加新的数据,id怎会从5开始。但是我们显示想让id从2开始,应该怎么做呢?这个时候我们就要学习去修改数据表的一些属性值了,而这个属性值就是AUTO_INCREMENT。首先我们要知道怎么查看这个属性的值。例如我建了一张...原创 2018-11-30 14:37:13 · 5209 阅读 · 0 评论 -
python——mysql数据库中字段长度是指字节还是字符
今天看到一个问题,就是数据库中的字段长度是指字节呢还是字符呢?有点纠结,就去试了一下。首先创建了一张表:CREATE TABLE t2( name char(10))ENGINE=INNODB DEFAULT CHARSET=utf8;随后往里面插入十个英文字母和是个中文来测试一下。首先插入是个英文字母:INSERT into t2(name) VALUES('ab...原创 2018-11-30 10:05:25 · 1428 阅读 · 0 评论 -
python——mysql的删除操作(delete,truncate,drop)
1.deletedelete from tablename;将数据库里原有的数据清空,再有新数据id接着之前的id往后延续。2.truncatetruncate table tablename;将数据库里面的数据清空,id归零。3.dropdrop table tablename;将这个表删除。...原创 2018-11-29 11:48:09 · 2516 阅读 · 0 评论 -
python——mysql在sql语句中添加引擎
create table test(id int, name char(10)) engine = innodb defalut charset=utf8;上面语句中的engine = innodb 就是往表test添加引擎,是为了保障数据表的原子性,此引擎支持事物。原子性是指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。可采用“A向B转账”这个例子来说明解释...原创 2018-11-29 11:28:23 · 314 阅读 · 0 评论 -
python中字符和ASCII相互转换
python中有两个内置的方法可以实现题目中的要求,1.ord()参数是字符,返回值是十进制的整数,代表的是该字符在ASCII中的位置。例如:>>>ord('a')97>>> ord('b')98>>> ord('c')992.chr()参数是可以是10进制也可以是16进制的形式的数字,返回值...原创 2019-02-21 11:28:27 · 9771 阅读 · 0 评论 -
python——时间间隔
我们经常在网站上看到您有一张多长时间的优惠券之类的信息,那么我们怎么计算这个券什么时候到期呢?例如我们现在有一张七天的优惠券,那么我要计算出七天之后是哪一天,然后令这张券失效。代码:import datetimenow = datetime.datetime.now()print(now)time = datetime.timedelta(days=7)ret = no...原创 2019-01-07 17:41:20 · 910 阅读 · 0 评论 -
python——安装mysqlclient失败解决方案
在虚拟环境中安装mysqlclient 1.3.13版本时报错,从中我们可以看出原因时因为Microsoft visual c++ 14.0解析包不存在,所以无法安装成功。然后我们就需要去这个网址点这里查找到自己要安装的包然后选择python的版本和自己电脑是32位还是64位,下载之后,在终端进入到要安装包的虚拟环境,然后输入pip install 此处填写你下载的文件...原创 2018-12-26 15:49:34 · 2964 阅读 · 1 评论 -
python——Counter()方法的用法
详细内容请参考下面的这篇文章:http://www.cnblogs.com/Eva-J/articles/7291842.html原创 2018-12-18 15:59:30 · 29501 阅读 · 0 评论 -
python——进程(二)
1.进程之间的数据共享展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。Manage...转载 2018-11-28 17:17:19 · 105 阅读 · 0 评论 -
python——进程(一)
1.什么是进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。狭义定义:进程是正在运行的程序的实例(an instance of a comput...转载 2018-11-28 17:08:38 · 288 阅读 · 1 评论 -
python中得re模块和正则表达式
目录正则表达式规则:. ^ $* + ? { }字符集[][^]分组 ()与 或 |[^]转义符 \贪婪匹配re模块下的常用方法综合练习与扩展1、匹配标签2、匹配整数3、数字匹配4、爬虫练习在线测试工具 http://tool.chinaz.com/regex/正则表达式规则:字符组 : [字符组]在同一个位置可能出现的各...转载 2018-10-29 16:10:08 · 211 阅读 · 0 评论 -
在celery中使用logging记录日志
由于项目需要日志文件的功能,又由于项目中有用到Celery模块,所以就看了看celery的用法,然后研究了一下如何在celery中记录日志。如图:这是我的项目的目录,proj是项目名,celery.py文件是celery的一些基本配置,比如你要使用的中间件是什么,用的是哪台电脑的中间件。比如我是用的redis,连接的是本地的服务器。from __future__ import a...原创 2018-10-29 15:59:06 · 13893 阅读 · 3 评论 -
python logging日志模块以及多进程日志
本篇文章主要对 python logging 的介绍加深理解。更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件。原出处博客1. logging日志模块介绍python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志记录。python logging 官方文档logging框架中主要由四个部分组成...原创 2018-10-26 17:30:34 · 4206 阅读 · 5 评论 -
python中的可变和不可变类型
不可变类型,内存中的数据不允许被修改: 数字类型 int, bool, float, complex, long(2.x) 字符串 str 元组 tuple 可变类型,内存中的数据可以被修改: 列表 list 字典 dict 注意:字典的 key 只能使用不可变类型的数据...原创 2018-10-26 16:33:11 · 153 阅读 · 0 评论 -
python的深浅copy
拷贝就是拷贝,何来深浅之说?Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果其实这个是由于共享内存导致的结果拷贝:原则上就是把数据分离出来,复制其数据,并以后修改互不影响。先看 一个非拷贝的例子=赋值:数据完全共享(=赋值是在内存中指向同一个对象,如果是可变(mutable)类型,比如列表,修改其中一个,另一个必定改变...转载 2018-09-29 09:25:04 · 179 阅读 · 0 评论 -
Django 模型层 Meta 选项详解
Meta 是 Django 模型类的一个内部类,用于定义一些与 Django 特定模型相关的一些选项。可选的选项有1. abstract表示模型是否是抽象基类,abstract = True,则表示模型是抽象基类。所谓抽象基类,指该模型不会对应数据库表,即 Django 不会在数据库中为该模型创建表。一般情况下,我们使用抽象基类来定义一组公共属性的字段,其他需要使用这组字段的模型只要...转载 2018-08-29 10:21:00 · 1477 阅读 · 0 评论 -
django中的日志文件按照日期分割(TimedRotatingFileHandler处理器)
如果对于Django中的logging模块不了解,可以去看博主的上一篇文章https://blog.csdn.net/qq_27437781/article/details/81564813在此,我们就直接说如何在项目中写代码了。首先我们新建一个py文件,用来存放logging 的配置代码代码如下:import loggingfrom logging.handlers im...原创 2018-08-10 16:18:00 · 5670 阅读 · 0 评论 -
Django中 logging的配置和使用
日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常。在生产环境下有很大的用途。在Java开发中通常用log4j,logback等第三方组件。那么在django中是怎么处理日志?django利用的就是Python提供的logging模块,但django中要用logging,还得有一定的配置规则,需要在setting中设置。 logging模块 logg...转载 2018-08-10 15:59:08 · 3805 阅读 · 0 评论 -
django实现图片上传和图片显示
在开始之前我们要确认环境中已经安装了Pillow,如果没有安装,可以通过命令pip install Pillow来安装,这个是python的图像处理库。第一步:数据库设置首先在项目中创建一个app。例如 python manage.py startapp app1然后将其加入到settings.py文件中。INSTALLED_APPS = [ 'django.contrib.admin',...原创 2018-06-29 10:36:44 · 13687 阅读 · 13 评论 -
在进行时间筛选的时候出现RuntimeWarning:DateTimeField LogList.operation_date received a naive datetime
今天想对数据库表中的数据实现按照时间筛选的功能,但是在后台能获取正常时间的时候,却报警告RuntimeWarning:DateTimeField LogList.operation_date received a naive datetime 。后来查找了一下资料发现原来是settings中的USE_TZ= True的原因,把True改成False即可。...原创 2018-06-28 14:17:21 · 4125 阅读 · 0 评论 -
python老师的博客
前端基础之HTML http://www.cnblogs.com/yuanchenqi/articles/6835654.html 前端基础之CSShttp://www.cnblogs.com/yuanchenqi/articles/6856399.html 前端基础之javascripthttp://www.cnblogs.com/yuanchenqi/articles/6893904.htm...原创 2018-06-27 09:28:54 · 816 阅读 · 0 评论 -
Python中的汉诺塔问题
最近在通过廖雪峰老师的教程学习python,在学习到递归的时候,有一个汉诺塔问题,假设分别有A,B,C三个柱子,现在要把A柱子上面的盘子移到C柱子上面,那么就可以把A柱子上面的柱子看成两部分,一部分是上面的(n-1)个柱子,这些柱子首先需要移动到B柱上,然后再把剩下的一个移动到C柱子上,最后再把B柱子上面的n-1个盘子移动到C柱子上面即可。代码如下:def move (n,a,b,c): i...原创 2018-05-21 15:06:15 · 724 阅读 · 0 评论