
Python
文章平均质量分 82
止语---
这个作者很懒,什么都没留下…
展开
-
FastAPI操作关系型数据库
FastAPI可以和任何数据库和任意样式的库配合使用,这里看一下使用SQLAlchemy的示例。下面的示例很容易的调整为PostgreSQLMySQLSQLiteOracle等。当前示例中我们使用SQLite。原创 2024-06-13 22:14:07 · 2319 阅读 · 0 评论 -
python Process and ProcessPools
python 进程和进程池原创 2022-12-04 11:21:16 · 672 阅读 · 0 评论 -
python Threads and ThreadPoolExecutor and async
python 进程和进程池原创 2022-12-03 22:57:23 · 1549 阅读 · 0 评论 -
Python项目工程化开发指南
python项目开发指南转载 2022-11-02 21:34:42 · 749 阅读 · 0 评论 -
浅谈Coroutine使用方法
Python coroutine原创 2022-10-21 20:45:14 · 4061 阅读 · 0 评论 -
Python通过logging.config.fileConfig()配置日志
Python通过logging.config.fileConfig()配置日志转载 2022-08-19 18:45:42 · 2114 阅读 · 0 评论 -
python 数据结构之字典
python 常见的数据结构之一就是字典,关于遍历,插入,删除。常见的比如使用items(),update,pop等。索引的时候使用keys()。过去的用法大都是使用[‘key’]或者get的形式去访问,因为get对于不存在的key可以返回None,但是如果一个字典不存在一个key使用[‘key’]则会提示key错误的问题.因此如果要使用传统的方法去范围字典,建议使用dict.get(‘key’)的形式那如果能使用对象.属性的方式去访问,便可以大大简化访问的繁文缛节了。下面介绍一下字典操作和访问的一个库原创 2022-07-02 09:45:14 · 356 阅读 · 0 评论 -
python封装SDK
python生成sdk时,可以打包成.egg(windows下)也可以打包成.whl(linux或者windows下),然后执行pip3 install ***.whl就可以像往常的安装包一样使用了。这里先介绍下打包成.egg包作为打包的入门。1 打包为适用于windows的.egg包1.1 安装python-setuptools对于已经运行过python project的,不需要另外安装。pip list先查阅。1.2 新建项目之类新建一个python工程,volcstack-sdk,新建RE原创 2022-05-28 22:06:51 · 5526 阅读 · 0 评论 -
python 协程 async/await
1、前言1.1 计算密集型、IO密集型python因为自身的GIL的问题导致并发不能像java和C一样,但并不是说Python不能实现并发。常见的有两种:**- 计算密集型IO密集型**计算密集型计算密集型任务的特点是要进行大量的计算,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。这种计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的原创 2022-04-23 22:40:45 · 7953 阅读 · 0 评论 -
python进程监控并重启
在linux中使用supervisor故障监测并重启,windows下不能使用supervisor,但是如何实现在windows监控进程并重启python应用/服务呢,windows下任务管理器中运行在pycharm或者其他ide下的python应用程序,我们知道此时pycharm是进程,而运行的.py文件是线程功能,这样如果监测进程实现起来比较繁琐,因此可以[将.py文件转换为.exe文件](https://blog.youkuaiyun.com/xc_zhou/article/details/809转载 2021-08-11 07:16:11 · 7266 阅读 · 1 评论 -
Python 内建函数 - sorted(iterable[, key][, reverse])
Manual直译实例 基本排序key函数operator模块函数升序和降序排序稳定性和复杂排序 其他拓展阅读 Manual Return a new sorted list from the items in iterable. Has two optional arguments which must be specified as keyword arguments. key specifies a function of one argument that is used to.转载 2021-08-01 20:59:02 · 766 阅读 · 0 评论 -
python多线程与GIL
目录1.GIL 1.1 为什么要有GIL1.2 GIL的运作方式1.3GIL带来的问题2.多线线程2.1 线程的调度和启动3.线程构造与使用3.1调用Thread类构造器创建线程3.2继承Thread类创建线程类在学习python多线程过程,学习一些很不错的文章和教程,这里进行摘抄并总结归纳一下,便于加深自己的理解1.GIL GIL的全称是全局解释器锁(Global Interpreter Lock),GIL并不是Python的特...原创 2021-01-10 20:43:35 · 495 阅读 · 0 评论 -
Python之collections容器数据类型
在介绍collections之前,大都知道python中已经有一些数据类型,诸如list,tuple,dict这类型,而collections可以理解对上述类型的一个扩展。下面介绍一下collections中常用到的几种数据类型1.namedtuple()python中的tuple是可迭代的,可哈希的,但是不可修改name_list = ("python","java","php")for name in name_list: print(name)name_dict = ...原创 2020-05-23 21:51:37 · 367 阅读 · 0 评论 -
线程和进程
关于线程和进程的定义随处可见,但是这篇文章值得推荐,可谓是高屋建瓴。在学习过程中本文更多的是以笔记的形式呈现。1.进程和线程 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用...转载 2020-02-15 19:03:13 · 200 阅读 · 0 评论 -
Python-Requests.post方法中,传参data与json的区别
Python3的requests.post()方法的源码:def post(url, data=None, json=None, **kwargs): r"""...转载 2020-02-05 11:06:35 · 762 阅读 · 0 评论 -
删除json中为空的key-value键值对
学习json中,需要删除嵌套json中value为空(包含'', {},[], null)的key并返回去除后的json。如果是json中没有嵌套data = {'name': 'Jack', 'mobile': '12345678911', 'address': '', 'ID': '', }则可以使用如下语句:for k in data.keys(): if not d...原创 2020-02-03 17:17:14 · 4197 阅读 · 0 评论 -
python中的encode()和decode()函数
对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5...转载 2019-08-10 21:45:27 · 440 阅读 · 0 评论 -
python文件操作
概述Python 文件 I/O(输入/输出)是用户程序和系统交互的过程,整个过程的交互性不是那么明显,使用输入机制,允许程序读取外部数据(包括来自磁盘、光盘等存储设备的数据),用户输入数据;使用输出机制,允许程序记录运行状态,将程序数据输出到磁盘、光盘等存储设备中;Python 提供有非常丰富的文件 I/O 支持,它既提供了 pathlib 和 os.path 来操作各种路径,也提供了全局...原创 2019-08-11 16:17:37 · 457 阅读 · 0 评论 -
Python os模块常用介绍
os模块提供了大量的文件和目录操作方法函数。读取文件获取目录一个常见的问题就是无法显示中文目录,网上找的解决方法均是通过重新设置编码方式,通过重新加载sys,设置系统编码方式import osimport sysreload(sys)print "系统默认编码方式:",sys.getdefaultencoding()sys.setdefaultencoding('utf8')...原创 2019-08-11 17:23:56 · 212 阅读 · 0 评论 -
BeautifulSoup操作xml文件
BeautifulSoup操作html的介绍较为常见,可参考官方文档,常见的对xml的操作可以使用ElementTree进行操作,这里并不是介绍BeautifulSoup操作xml,对自己在一次实践中遇到的问题进行记录。问题:操作XML后,其中有多个结点,这里姑且以Id结点为例,需要替换一个其中一个Id结点,该Id结点可以通过父节点区分其他结点,因为ElementTree中可以使用iter()...原创 2019-08-18 08:57:52 · 4363 阅读 · 0 评论 -
切片索引
在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式:[],[:],[::]访问某一数据元素的语法如下:sequence[index]sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1;使用负索引的时候,其范围为-len(sequenc...原创 2018-04-25 09:55:40 · 2571 阅读 · 0 评论 -
python中使用ElementTree 操作XML
概述 参考elementTree的官方文档,ET 模块可以归纳为三个部分:ElementTree类,Element类以及一些操作 XML 的函数。XML是一种固有的分层数据格式,表示它的最自然的方式是使用树。ET为此目的有两个类 -ElementTree将整个XML文档表示为树,并Element表示此树中的单个节点。与整个文档的交互(读取和写入文件)通常在ElementT...原创 2019-08-10 20:31:20 · 9157 阅读 · 0 评论 -
collections之defaultdict
最近在学习collections库,做一点笔记。1、基础介绍统计一个列表中元素出现的次数#encoding:utf-8from collections import defaultdictusers = ["bobby1","bobby2","bobby3","bobby2","bobby4","bobby5","bobby4"]user_dic = {}#统计一下每个字...原创 2019-08-07 21:46:57 · 548 阅读 · 0 评论 -
解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
在学习requests库爬取网页的时候,出现了“解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误”的错误。# -*-coding:utf-8-*-import requestsfrom bs4 import BeautifulSoupimport bs4def getHTMLText(url):...原创 2018-05-05 19:43:20 · 1759 阅读 · 0 评论 -
列表解析和生成器表达式
列表解析(List comprehensions,或者缩略为list comps)来自函数式编程语言Haskell,可以用来动态创建列表。[expr for iter_var in iterable] 这个语法的核心是for 循环,他迭代iterable对象的所有条目,表达式expr应用于序列的每个成员,最后的结果值是该表达式产生的列表。print map(lambda x:x ** ...原创 2018-04-27 07:04:14 · 782 阅读 · 0 评论 -
拷贝Python对象、浅拷贝、深拷贝
浅拷贝和深拷贝在C++中出现和使用的较多,python也有相应的用法。test1 = ['a','c','b','d','f']print id(test1)test2 = test1print id(test2)首先是创建了一个列表对象,并将这个对象的引用赋值给test1这个变量,在test2=test1赋值语句中,python没有拷贝这个对象,只是拷贝了这个对象的引用,所以二者有相同i...原创 2018-04-26 21:50:35 · 188 阅读 · 0 评论 -
Python之Requests
对于的新的环境可能没有安装requests库,可以子cmd窗口下进行requests库的安装,pip提供了在线安装的功能。 完成安装之后,通过一个简单的示例进入到下文中:import requestsr = requests.get("http://www.baidu.com")print r.status_coder.encoding = 'utf-8'print r.t...原创 2018-05-04 07:27:20 · 209 阅读 · 0 评论 -
YAML 在Python中的配置应用
yaml是一种比xml和json更轻的文件格式,也更简单更强大,它可以通过缩进来表示结构,听着就和Python很配对不对?yaml的介绍不在这里赘述,感兴趣可以自行百度下,先说下它的基本语法,还是配合着PyYaml来:1. PyYamlPyYaml是Python的一个专门针对yaml文件操作的模块,使用起来非常简单。安装:pip install PyYaml或者到这里下载相应版本的包,人工安装,h...转载 2018-05-01 10:18:43 · 10330 阅读 · 2 评论 -
Python之单元测试
转自:http://blog.chinaunix.net/uid-22312037-id-3929835.html在Python中进行单元测试需要用到自动单元测试框架PyUnit,Python2.1及其以后的版本都将PyUnit作为一个标准模块(即python的unittest模块),如果你很out,那么你需要从PyUnit网站下载源码安装后才能使用。一、Python单元测试范例 测...转载 2018-04-30 20:40:39 · 1698 阅读 · 0 评论 -
Python之二叉树的遍历
二叉树基本概述: 二叉树是有限个元素的几个,如果为空则为空二叉树,或者有一个结点称之为根节点,分列根节点两侧的为二叉树的左右子节点,二叉树有如下的性质:二叉树的每个结点不存在度大于2的结点二叉树的第i层至多有2^{i-1}个结点深度为k的二叉树至多有2^k - 1个结点二叉树中,度为0的结点数N0比度为2的结点数N2大1,即存在N2 + 1 = N0#coding:utf-8'BiTr...原创 2018-04-30 14:22:26 · 277 阅读 · 0 评论 -
定制类
形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。如__len__()方法是为了能让class作用于len()函数。除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类。1、字符串定制__str__首先顶一个一个Person 类,通过输出一个实例引入定制类的问题#Coding = utf- 8class Person(...原创 2018-04-30 09:52:29 · 330 阅读 · 0 评论 -
错误和异常
什么是异常? 因为程序出现了错误而在正常流程控制以外采取的行动。这个行动分为两个阶段:首先是引起异常发生的错误;其次是检测(和可能采取的措施)阶段。如:NameErrorprint ab那对于异常如何检测和处理呢?异常可以用 try 语句来检测。任何在 try 语句块中的代码都会被监测,检查有误异常发生。try 语句主要有两种主要形式:try-except 和 try-finally...原创 2018-04-27 19:56:31 · 304 阅读 · 0 评论 -
Python网络爬虫与信息提取(三):网络爬虫之实战
此系列笔记来源于中国大学MOOC-北京理工大学-嵩天老师的Python系列课程转载自:http://www.jianshu.com/p/98d0139dacac7. Re(正则表达式)库入门regular expression = regex = RE是一种通用的字符串表达框架,用来简洁表达一组字符串的表达式,...转载 2018-05-06 09:31:29 · 264 阅读 · 0 评论 -
Python网络爬虫与信息提取(二):网络爬虫之提取
此系列笔记来源于中国大学MOOC-北京理工大学-嵩天老师的Python系列课程转载自:http://www.jianshu.com/p/7b950b8a59664. Beautiful Soup库入门Beautiful Soup库可对HTML/XML格式进行解析并提取相关信息安装:管理员方式打开CMD-输入pip...转载 2018-05-06 09:33:54 · 331 阅读 · 0 评论 -
python 中使用ElementTree操作XML
概述 对比其他 Python 处理 XML 的方案,xml.etree.ElementTree 模块(下文我们以 ET 来表示)相对来说比较简单,接口也较友好。官方文档 里面对 ET 模块进行了较为详细的描述,总的来说,ET 模块可以归纳为三个部分:ElementTree类,Element类以及一些操作 XML 的函数Func。XML 可以看成是一种树状结构,ET 使用Elem...原创 2019-04-05 21:04:40 · 5574 阅读 · 0 评论 -
python使用MySQL数据库
1、数据库安装mysql数据库环境安装,如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可。Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的linux 仓库中都会有mysql ,我们只需要通过一个命令就可以下载安装:Ubuntu\deepin>>sudo apt-get install mysql-server...原创 2018-06-09 07:35:04 · 3880 阅读 · 0 评论 -
python中__name == '__main__'
这里对于执行顺序一定要注意,大多数地方对于main()的执行都是说,这里更多的适用于测试,如果模块被调用,因为此时的__name__为模块的名字,则不会这行,如果作为一个单独的“程序”则执行,总结如下。对于 if __name__ == '__main__': 的解释相关博客已经给出了说明,意思就是 1、当此文件当做模块被调用时,不会从这里执行,因为此时name属性就成了模块的名字,...原创 2018-05-23 08:50:28 · 4802 阅读 · 0 评论 -
Python之方法调用
Python中类的方法有两种形式:1、绑定方法和非绑定方法 绑定的概念主要与方法调用相关联,方法是类内部定义的函数(这意味着方法是类属性而不是实例属性),方法只有在其所属的类拥有实例时,才能被调用,当存在一个实例时,方法才被认为是绑定到那个实例了。任何一个方法定义中的第一个参数都是self变量,表示调用此方法的实例对象。class Person(): def __init__...原创 2018-04-29 14:12:40 · 7646 阅读 · 0 评论 -
Python之面向对象
类解释了面向对象(OOP,object-oriented programming)的思想。这里就类实例和方法进行探讨。1、类和实例存在着两种形式的类定义,区别仅在于是否从父类派生,从而有经典类和新式类,后文中均以新式类为例进行学习,新式类如:class MyNewObjectType(bases): 'define MyNewObjectType class' #类文档字符串 clas...原创 2018-04-29 07:46:46 · 492 阅读 · 0 评论 -
python文件读写,以后就用with open语句
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然...转载 2018-05-06 16:51:11 · 2350 阅读 · 1 评论