
Python
文章平均质量分 85
奔跑的大西吉
这个作者很懒,什么都没留下…
展开
-
Python 之代码块和小数据池
换句话说:执行同一个代码块时,遇到初始化对象的命令时,他会将初始化的这个变量与值存储在一个字典中,在遇到新的变量时,会先在字典中查询记录,如果有同样的记录那么它会重复使用这个字典中的之前的这个值。其实,无论是缓存还是字符串驻留池,都是python做的一个优化,就是将~5-256的整数,和一定规则的字符串,放在一个"池"(容器,或者字典)中,无论程序中那些变量指向这些范围内的整数或者字符串,那么他直接在这个"池"中引用,言外之意,就是内存中之创建一个。代码块包括:一个模块,一个函数,一个类,一个文件等。原创 2023-01-18 23:24:27 · 451 阅读 · 0 评论 -
Python 之打包工具 setup.py
1. 为什么需要对项目分发打包?平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作,而这个过程就是 打包。打包,就是将你的源代码进一步封装,并且将所有的项目部署工作都事先安排好,这样使用者拿到后即装即用,不用再操心如何部署的问题(如果你不想对照着一堆部署文档手工操作的话)。不管你是在工作中,还是业余准备自己写一个可以上传到 PyPI 的项目,你都要学会如何打包你的项目。Python 发展了这么些年了,项目打包工具也已经很成熟转载 2021-08-01 12:17:40 · 5467 阅读 · 0 评论 -
Python 包管理之 poetry
poetry是一个Python虚拟环境和依赖管理的工具。poetry和pipenv类似,另外还提供了打包和发布的功能。官方文档:python-poetry.org/docs/python项目部署:poetry管理本地环境,上线用dockerpoetry 安装poetry提供多种安装方式,个人推荐从以下2种方式中选择:方式一:(推荐)$ curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetr转载 2021-07-30 17:16:39 · 2267 阅读 · 0 评论 -
使用 Django + Wusgi + Nginx 部署 Django
如何在生产上部署Django?Django的部署可以有很多方式,采用 nginx+uwsgi 的方式是其中比较常见的一种方式。uwsgi介绍uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI / uwsgi / uWSGI 这三个概念的区分。WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一转载 2021-06-23 20:27:34 · 406 阅读 · 0 评论 -
python 第三方模块之 pandas 操作 excel
python 解析 excel 对比包版本xls读xlsx读xls写xlsx写备注xlrd1.1.0(2017年8月22日)√√2.0 之后不支持xlsxxlwt1.3.0(2017年8月22日)√openpyxl2.6.2(2019年3月29日)√√XlsxWriter1.2.1(2019年9月14日)√xlutils2.0.0(2019年6月9日)√√√需xlrd/xlwt配合pan转载 2021-06-02 11:32:35 · 1024 阅读 · 0 评论 -
Python 第三方模块之 numpy.random
本文概述随机数是NumPy库中存在的模块。该模块包含用于生成随机数的功能。该模块包含一些简单的随机数据生成方法, 一些排列和分布函数以及随机生成器函数。简单随机数据简单随机数据具有以下功能:1)p.random.rand(d0, d1, …, dn)随机模块的此功能用于生成给定形状的随机数或随机数。import numpy as npa=np.random.rand(5, 2)a# array([[0.74710182, 0.13306399], [0.01463718, 0.476188转载 2021-05-26 19:04:49 · 3729 阅读 · 0 评论 -
Python 第三方模块之 imgaug (图像增强)
imgaug是一个封装好的用来进行图像augmentation的python库,支持关键点(keypoint)和bounding box一起变换。项目主页: imgaug doc1. 安装和卸载# 通过github安装sudo pip install git+https://github.com/aleju/imgaug # 通过pypi安装sudo pip install imgaug # 本地安装, 下面的VERSION变成自己想要安装的version, 例如: imgaug-0.转载 2021-05-18 18:35:45 · 13041 阅读 · 0 评论 -
python 第三方模块之 APScheduler - 定时任务
介绍APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。APScheduler基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便。安装pip install apscheduler官方地址http转载 2021-04-27 17:53:53 · 1038 阅读 · 0 评论 -
Python 内置模块之 ConfigParser - 解析 ini 文件
INI文件结构简单描述INI文件就是扩展名为“ini”的文件。在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中转载 2021-03-17 15:33:58 · 1758 阅读 · 0 评论 -
Python 第三方模块之 selenium - 模拟操作 Chrome 浏览器
1、安装selenium1.1、Python 安装 selenium 模块pip install selenium1.2、下载驱动选择和自己chrom版本相对应的驱动到本地,下载地址http://npm.taobao.org/mirrors/chromedriver/2、Python 操作from selenium import webdriverimport timeimport json# 创建Chrome对象,需要先下载驱动。driver = webdriver.Chro转载 2021-03-02 11:25:18 · 1519 阅读 · 2 评论 -
Python 第三方模块之 psutil - 获取系统运行的进程和系统利用率信息
一、psutil模块:官方网址:http://pythonhosted.org/psutil/1.psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、p转载 2021-01-29 16:05:18 · 1600 阅读 · 2 评论 -
python 第三方模块 yaml - 处理 YAML (专门用来写配置文件的语言)
markdown 的配置使用 Yaml —— Yet Another Markup Language :另一种标记语言。简介YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。YAML在python语言中有PyYAML安装包。YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。它的基本语法规则如下:大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的转载 2021-01-07 20:03:51 · 1722 阅读 · 0 评论 -
Python 第三方模块之 lxml - 解析 HTML 和 XML 文件
阅读目录1、python库lxml的安装2、XPath常用规则(1)读取文本解析节点(2)读取HTML文件进行解析(3)获取所有节点(4)获取子节点(5)获取父节点(6)属性匹配(7)文本获取(8)属性获取(9)属性多值匹配(10)多属性匹配(11)XPath中的运算符(12)按序选择(13)节点轴选择(14)案例应用:抓取TIOBE指数前20名排行开发语言lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高XPa转载 2021-01-18 11:09:36 · 3489 阅读 · 0 评论 -
Python 第三方模块之 beautifulsoup(bs4)- 解析 HTML
简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:官网文档'''Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。'''安装pip3 install beautifulsoup4解析器Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的转载 2021-01-18 10:51:38 · 4003 阅读 · 0 评论 -
kafka 异常:return ‘<SimpleProducer batch=%s>‘ % self.async ^ SyntaxError: invalid syntax
Python3.X 执行Python编写的生产者和消费者报错,报错信息如下:Traceback (most recent call last):File "mykit_kafka_producer.py", line 9, in <module>from kafka import KafkaProducerFile "/usr/local/lib/python3.7/site-packages/kafka/__init__.py", line 23, in <module>原创 2020-12-22 12:01:13 · 4870 阅读 · 0 评论 -
Python 内置函数之 open (文件操作)
正常的文件操作都分三步走:打开文件,操作文件,关闭文件。python open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写语法文件句柄 = open(文件名,模式)例如:f = open('abc.txt', 'r', encoding='gbk')r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于..转载 2020-12-17 16:20:55 · 4108 阅读 · 0 评论 -
python 内置模块 subprocess
一、介绍subprocess模块可以生成新的进程,连接到它们的input/output/error管道,同时获取它们的返回码。二、基本操作方法1. subprocess的run、call、check_call、check_output函数 subprocess.run(args[, stdout, stderr, shell ...]):执行args命令,返回值为CompletedProcess类; 若未指定stdout,则命令执行后的结果输出到屏幕上,函数返回值CompletedPro转载 2020-12-10 10:27:50 · 4177 阅读 · 0 评论 -
python-kafka 常用 api 汇总
简介 python连接kafka的标准库,kafka-python和pykafka。kafka-python使用的人多是比较成熟的库,kafka-python并没有zk的支持。pykafka是Samsa的升级版本,使用samsa连接zookeeper,生产者直接连接kafka服务器列表,消费者才用zookeeper。生产者参考API:https://kafka-python.readthedocs.io/en/master/apidoc/KafkaProducer.html#-*-...转载 2020-11-02 18:48:27 · 7852 阅读 · 2 评论 -
Flask 多线程
# 1.threaded : 多线程支持,默认为False,即不开启多线程;app.run(threaded=True)# 2.processes:进程数量,默认为1.app.run(processes=True)ps:windows 下开启均不生效, linux 下开启生效转载 2020-10-19 16:08:25 · 1669 阅读 · 0 评论 -
Python 第三方模块之 PDFMiner(pdf信息提取)
PDFMiner简介pdf提取目前的解决方案大致只有pyPDF和PDFMiner。据说PDFMiner更适合文本的解析,首先说明的是解析PDF是非常蛋疼的事,即使是PDFMiner对于格式不工整的PDF解析效果也不怎么样,所以连PDFMiner的开发者都吐槽PDF is evil. 不过这些并不重要。PDFMiner是一个可以从PDF文档中提取信息的工具。与其他PDF相关的工具不同,它注重的完全是获取和分析文本数据。PDFMiner允许你获取某一页中文本的准确位置和一些诸如字体、行数的信息。它包括一转载 2020-10-10 19:04:26 · 29902 阅读 · 2 评论 -
Python 第三方模块之 ElementTree(ET)- 解析XML文件
ElementTree是Python常用的处理XML文件的类。下面将介绍使用ElementTree解析、查找、修改XML的方法。一、引用方法import xml.etree.ElementTree as ET二、一个XML例子下面所有的操作都将下面这段XML为例,我们将它保存为sample.xml。<?xml version="1.0"?><data&g...转载 2019-12-30 16:15:59 · 23185 阅读 · 0 评论 -
Python 内置模块之 os
os.walkos.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。简单来说,就是挨个遍历指定路径下的目录(文件夹)和文件。用于通过在目录树中游走输出在目录中的目录名,文件名在Unix,Windows中有效。要使用os.walk,首先要载入该函数,可以使用以下两种方法import os from os import walk语法...转载 2019-12-24 13:40:47 · 191 阅读 · 0 评论 -
Python 内置模块之 re
前言输入一个手机号18333333333,你是怎么知道这串数字是手机号呢,假如现在你用python写一段代码,类似:phone_number = input('please input your phone number:')你怎么判断这个phone_number是合法的呢?根据手机号码一共11位并且是只以13、14、15、18开头的数字这些特点,我们用python写了如下代码:...转载 2019-12-23 17:56:16 · 358 阅读 · 0 评论 -
Redis Python
Redis是一个 key-value存储系统。和 Memcached 类似,它支持存储的 value 类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方...转载 2020-01-06 19:26:18 · 267 阅读 · 0 评论 -
Python 之网络编程基础
套接字(socket)初使用基于TCP协议的sockettcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端server端import socketsk = socket.socket()sk.bind(('127.0.0.1',8898)) # 把地址绑定到套接字sk.listen() # 监听链接conn,addr =...转载 2020-03-07 19:52:48 · 266 阅读 · 0 评论 -
Python 第三方模块之 numpy.linalg - 线性代数
目录numpy.linalg.det() 行列式numpy.linalg.solve() 方程的解numpy.linalg.inv()逆矩阵np.linalg.eig 特征值和特征向量np.linalg.svd 奇异值分解np.linalg.pinv 广义逆矩阵(QR分解)numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方...原创 2020-03-31 17:37:52 · 2508 阅读 · 1 评论 -
Python html 代码转成图片、PDF
一、下载1、python的imgkit、pdfkit库pip install imgkitpip install pdfkit2、wkhtmltopdf工具包下载地址:https://wkhtmltopdf.org/downloads.html下载之后安装,安装完成会生成两个程序,分别用来转图片和pdf:二、使用1、转为图片import imgkit path_wkimg = r'C:\Program Files\wkhtmltopdf/bin\wk..转载 2020-10-10 18:05:53 · 3191 阅读 · 1 评论 -
Flask 离线脚本
1. 在 __init__.py中创建db对象 from flask_sqlalchemy import SQLAlchemy # 包含了SQLAlchemy相关的所有操作 db = SQLAlchemy()2. 在 __init__.py中create_app函数中让将app传入到db中 def create_app(): app = Flask(__name__) app.config.from_object('settings..转载 2020-09-07 10:12:18 · 274 阅读 · 0 评论 -
Python 第三方库之 docxtpl (处理word文档)
docxtpl 软件包使用两个主要软件包:python docx,用于读取、写入和创建子文档 jinja2用于管理插入到模板docx中的标记from docxtpl import DocxTemplatetpl = DocxTemplate('test.docx')context = { 'template': '123'}tpl.render(context)tpl.save('test1.docx')...转载 2020-10-10 18:18:54 · 18952 阅读 · 16 评论 -
Python html 代码转成 word(docx)
安装sudo apt install pandocpip3 install pypandoc示例代码import pypandochtml = """<h3>This is a title</h3><p><img src="http://placehold.it/150x150" alt="I go below the image as a caption"></p><p><i>This is转载 2020-10-09 17:28:59 · 5027 阅读 · 0 评论 -
Python 内置模块之 random
常用APIimport random# 随机小数print(random.random()) # 大于0且小于1之间的小数。0<= n<1.0print(random.uniform(1,3)) # 大于1小于3的小数# 随机整数print(random.randint(1,5)) # 大于等于1且小于等于5之间的整数#从指定范围内,按指定基数递增的集合中 获取一个随机数。random.randrange([start], stop[, s.转载 2020-09-01 16:27:42 · 252 阅读 · 0 评论 -
Python 第三方模块之 MySQL数据库连接模块 PyMySQL
PyMySQL的安装pip install PyMySQLpython连接数据库import pymysqlconn = pymysql.connect( host='localhost', user='root', password="root", database='db', port=3306, charset='utf-8', autocommit=True # autocommit=True 让每次提交都去调转载 2020-08-31 15:00:31 · 1452 阅读 · 1 评论 -
Python 内置模块之 时间模块 time
time模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar必要说明:这个模块的功能不是适用于所有的平台这个模块中定义的大部分函数是调用C平台上的同名函数实现一些术语和约定的解释:时间戳(timestamp)的方式,返回的是float类型:通常来说,时间戳表示的是从1970年1月1日开始按秒计算的偏移量(time.gmtime(0)此模块中的...原创 2019-12-18 17:35:49 · 270 阅读 · 0 评论 -
Python 内置模块之 时间模块 datetime
概述datatime模块重新封装了time模块,提供更多接口,datetime库定义了2个常量和5个类。2个常量分别是MINYEAR=1和MAXYEAR=9999。5个类分别是:date类:表示日期的类 time类:表示时间的类 datetime类:表示时间日期的类 timedelta类:表示两个datetime对象的差值; tzinfo类:表示时区的相关信息dateti...原创 2019-12-18 17:10:22 · 1232 阅读 · 0 评论 -
Python 第三方模块之 pdfkit
pdfkit,把 HTML+CSS 格式的文件转换成 PDF 格式文档的一个工具。其实,pdfkit 是 html 转成 pdf 工具包 wkhtmltopdf 的 Python 封装。所以,首先安装 wkhtmltopdf 。 一般情况下,wkhtmltopdf需要手动安装,网站是 https://wkhtmltopdf.org/downloads.html,根据自己的操作系统下载对应的版本即可。ps:记住安装目录啊,下面要用到。上面说到了pdfkit这个模块,这个是第三方模块,需要安装,使用pi转载 2020-08-14 16:28:42 · 1387 阅读 · 0 评论 -
Python 内置模块之 logging
logging模块有三种配置方式,一种是函数式的简单配置,一种是对象类的,还有一种是配置文件类型的函数式简单配置import logginglogging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message')默认情况下P原创 2020-07-20 15:44:13 · 825 阅读 · 0 评论 -
Flask 跨域问题
一、什么是跨域跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源。同源策略是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,为了用户安全,浏览器加了限制,其中的Js通过Ajax只能访问B服务器的静态资源或请求。即:浏览器A从哪拿的资源,那资源中就只能访问哪。同源是指:同一个请求协议(如:Http或Https)、同一个Ip、同一个端口,3个全部原创 2020-07-30 11:02:32 · 1664 阅读 · 0 评论 -
Flask 第三方组件之 login
在使用flask时,构建一个系统,用户登录注册是一个必不可少的过程,通常是使用Flask-Login模块。下面介绍使用Flask-Login登录注销,以及帮助大家解答一些可能比较常见的问题。使用入门首先,先概述下例子,有三个url,分别是:/auth/login 用于登录/auth/logout用于注销/test用于测试,需要登录才能访问安装必要的库pip install Flask==0.10.1pip install Flask-Log...原创 2020-06-24 19:41:27 · 2720 阅读 · 0 评论 -
Python 第三方模块之 smtplib
一、python对SMTP的支持SMTP(Simple Mail Transfer Protocol)是简单传输协议,它是一组用于用于由源地址到目的地址的邮件传输规则。python中对SMTP进行了简单的封装,可以发送纯文本邮件、HTML邮件以及带附件的邮件。两个核心模块如下:email模块:负责构建邮件 smtplib模块:负责发送邮件python创建SMTP对象语法如下:import smtplibsmtpObj = smtplib.SMTP( [host [, port [,转载 2020-06-28 18:45:17 · 16439 阅读 · 0 评论 -
Flask 上下文源码解析
简单来说,上下文包括request_ctx(封装了request和session),app_request(封装了app和g),两个ctx都储存在一个叫做Local的数据结构中,这个结构的作用就是会自动根据不同的线程id返回对应的数据,然后通过一个叫做 LocalStark 的结构把 Local 封装成栈,并提供pop和push 功能,request_ctx,app_request的入栈就是通过它实现,在程序中调用数据的时候,通过一个叫做LocalProxy的结构加上偏函数partial来获取上下文.转载 2020-05-09 14:06:28 · 525 阅读 · 0 评论