自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 收藏
  • 关注

原创 python unicodedata 处理Unicode 字符串

你正在处理 Unicode 字符串,需要确保所有字符串在底层有相同的表示。# -*- coding: utf-8 -*-# 你正在处理 Unicode 字符串,需要确保所有字符串在底层有相同的表示。# 在 Unicode 中,某些字符能够用多个合法的编码表示。为了说明,考虑下面的这个例子:s1 = 'Spicy Jalape\u00f1o's2 = 'Spicy Jalapen\u0303o'print(s1)print(s2)print(s1 == s2)# 这里的文本”Spi

2021-03-03 18:18:22 7

原创 python3 fnmatch和fnmatchcase

你想使用 Unix Shell 中常用的通配符 (比如 .py , Dat[0-9].csv 等) 去匹配文本字符串,fnmatch 模块提供了两个函数—— fnmatch() 和 fnmatchcase() ,可以用来实现这样的匹配。用法如下:# -*- coding: utf-8 -*-# 你想使用 Unix Shell 中常用的通配符 (比如 *.py , Dat[0-9]*.csv 等) 去匹配文# 本字符串# fnmatch 模块提供了两个函数—— fnmatch() 和 fnmatc

2021-03-03 17:33:58 4

原创 python 合并多个字典或映射

现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作,比如查找值或者检查某些键是否存在。a = {'x': 1, 'z': 3}b = {'y': 2, 'z': 4}现在假设你必须在两个字典中执行查找操作 (比如先从 a 中找,如果找不到再在 b中找)。一个非常简单扼解决方案就是使用 collections 模块中的 ChainMap 类。比如:from collections import ChainMapc = ChainMap(a, b)print(c)pr

2021-02-25 17:01:20 8

原创 python namedtuple

映射名称到序列元素, 你有一段通过下标访问列表或者元组中元素的代码,但是这样有时候会使得你的代码难以阅读,于是你想通过名称来访问元素。collections.namedtuple() 函数通过使用一个普通的元组对象来帮你解决这个问题。这个函数实际上是一个返回 Python 中标准元组类型子类的一个工厂方法。你需要传递一个类型名和你需要的字段给它,然后它就会返回一个类,你可以初始化这个类,为你定义的字段传递值等。代码示例:from collections import namedtupleSubsc

2021-02-25 16:04:32 10

原创 python 过滤序列元素

你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列。最简单的过滤序列元素的方法就是使用列表推导。比如mylist = [1, 4, -5, 10, -7, 2, 3, -1]print([n for n in mylist if n > 0])print([n for n in mylist if n < 0])# 使用列表推导的一个潜在缺陷就是如果输入非常大的时候会产生一个非常大的结果# 集,占用大量内存。如果你对内存比较敏感,那么你可以使用生成器表达式迭代产生#

2021-02-25 15:24:35 8

原创 python itertools.groupby() 分组排序

你有一个字典或者实例的序列,然后你想根据某个特定的字段比如 date 来分组迭代访问。itertools.groupby() 函数对于这样的数据分组操作非常实用。为了演示,假设你已经有了下列的字典列表:from operator import itemgetterfrom itertools import groupbyfrom collections import defaultdictrows = [ {'address': '5412 N CLARK', 'date': '07/0

2021-02-25 14:40:18 14

原创 operator 中itemgetter、attrgetter

你有一个字典列表,你想根据某个或某几个字典字段来排序这个列表。通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的数据结构。假设你从数据库中检索出来网站会员信息列表,并且以下列的数据结构返回:from operator import itemgetter, attrgetterrows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname':

2021-02-25 14:21:23 7

原创 Counter 制表或者计数数据

怎样找出一个序列中出现次数最多的元素呢?collections.Counter 类就是专门为这类问题而设计的,它甚至有一个有用的most_ common() 方法直接给了你答案。from collections import Counterwords = [ 'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes', 'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'ar

2021-02-25 13:49:55 4

原创 怎样在两个字典中寻寻找相同点 (比如相同的键、相同的值等等)

一个字典就是一个键集合与值集合的映射关系。字典的 keys() 方法返回一个展现键集合的键视图对象。键视图的一个很少被了解的特性就是它们也支持集合操作,比如集合并、交、差运算。所以,如果你想对集合的键执行一些普通的集合操作,可以直接使用键视图对象而不用先将它们转换成一个 set。字典的 items() 方法返回一个包含 (键,值) 对的元素视图对象。这个对象同样也支持集合操作,并且可以被用来查找两个字典有哪些相同的键值对。尽管字典的 values() 方法也是类似,但是它并不支持这里介绍的集合操作。某种

2021-02-24 17:23:35 7

原创 centos7中 yum的安装

1、查看、删除 yum安装包rpm -qa | grep yum # 查看yum安装包rpm -aq|grep yum|xargs rpm -e --nodeps # 删除所有yum2 下载包包地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/需要下载的包:-rw-r--r-- 1 root root 253008 Oct 15 02:55 libxml2-python-2.9.1-6.el7.5.x86_64.rpm-rw

2021-01-02 02:40:11 77 1

原创 centos7 python2 安装pip

centos7默认已经安装了python2.7,但是没有预装pip命令,所以还需要自己装pip命令,方便安装python用到的各种包。首先检查有没有安装python-pip,可直接执行命令yum install python-pip # 安装 pip # yum -y install epel-release # 安装pip报错后执行pip install --upgrade pip # 升级pippip -V # 查看版本pip2 -V # 查看版本...

2021-01-02 02:26:05 79

原创 linux 系统下,python创建管理虚拟环境

一、安装pythonhttps://blog.csdn.net/MZP_man/article/details/112068367二、安装virtualenv、virtualenvwrapperpip install virtualenvpip install virtualenvwrapper三、在/usr/bin中添加环境变量(就是新建了一个软连接)ln -s /usr/local/python/bin/virtualenv /usr/bin/virtualenv 四、创建一个文件夹

2021-01-01 23:45:35 31 1

原创 CentOS7 安装python3.6

我新开的服务器:纯净的环境,先通过以下命令安装python编译及依赖相关软件yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel下载Python3.6.5源码wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz解压到当前目录,重命名。tar -xzvf Python-3.6.5.tgzmv Py

2021-01-01 21:20:16 18

原创 centos7 下安装 nodejs

源码包安装下载安装包到: /usr/local 目录下1、命令下载wget https://nodejs.org/dist/latest-v12.x/node-v12.20.0-linux-x64.tar.gz2、window 下载 scp到 linux 下scp tar包路径 username@地址:/usr/local解压安装包:tar -xvf node-v12.20.0-linux-x64.tar.xz重命名解压后的包:mv node-v12.20.0-linux-x64

2021-01-01 20:47:39 154 2

原创 python 线程池

系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。在这种情形下,使用线程池可以很好地提升性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。线程池在系统启动时即创建大量空闲的线程,程序只要将一个函数提交给线程池,线程池就会启动一个空闲的线程来执行它。当该函数执行结束后,该线程并不会死亡,而是再次返回到线程池中变成空闲状态,等待执行下一个函数。此外,使用线程池可以有效地控制系统中并发线程的数量。当系统中包含有大量的并发线程时,会导致系统性能急剧下降,甚至导致 Pyth

2020-10-26 13:15:50 26

原创 python 单例模式实现

一、重写 new 方法# -*- coding: utf-8 -*-# Python 单例模式实现import pysnooperimport threading# 方式一, 重写__new__ 方法class SingletonOne(object): _instance = None def __new__(cls, *args, **kwargs): if not cls._instance: cls._instance = s

2020-10-22 18:25:07 48 1

原创 Python queue threading 多线程生产者消费者模式简单示例

queue 线程安全队列示例如下:# -*- coding: utf-8 -*-# 生产者、消费者from queue import Queueimport threadingimport random, timeclass Producer(threading.Thread): def __init__(self, q, name): super(Producer, self).__init__() self.q = q self.n

2020-10-22 12:49:39 62

原创 python heapq模块查找集合中最大或最小n个元素列表

怎样从一个集合中获得最大或者最小的 N 个元素列表?heapq 模块有两个函数: nlargest() 和 nsmallest() 可以完美解决这个问题。举例说明:一、集合类型"""heapq 模块获取集合中最大或者最小的n个元素"""import heapq# 列表nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]max_list = heapq.nlargest(3, nums)min_list = heapq.nsmallest(3,

2020-06-08 21:20:14 107

原创 python 解包

解压序列赋值给多个变量方式一任何的序列 (或者是可迭代对象) 可以通过一个简单的赋值语句解压并赋值给多个变量。唯一的前提就是变量的数量必须跟序列元素的数量是一样的。如果变量个数和序列元素的个数不匹配,会产生一个异常。实际上,这种解压赋值可以用在任何可迭代对象上面,而不仅仅是列表或者元组。包括字符串,文件对象,迭代器和生成器。方式二只想解压一部分,丢弃其他的值。对于这种情况 Python 并没有提供特殊的语法。但是你可以使用任意变量名去占位,到时候丢掉这些变量就行了如果一个可迭代对象的元素

2020-06-03 23:37:52 94

原创 python classmethod与staticmethod

先来看 classmethod, 它的用法:定义操作类,而不是操作实例的方法。classmethod 改变了调用方法的方式,因此类方法的第一个参数是类本身,而不是实例。classmethod 最常见的用途是定义备选构造方法, 如下例子(部分代码):@classmethoddef frombytes(cls, octets): typecode = chr(octets[0]) memv =...

2019-12-30 11:14:47 130

原创 python operator模块

在函数式编程中,经常需要把算术运算符当作函数使用。例如,不使用递归计算阶乘。求 和可以使用sum 函数,但是求积则没有这样的函数。我们可以使用reduce 函数,但是需要一个函数计算序列中两个元素之积。如下展示如何使用 lambda 表达式解决这个问题。from functools import reduce def fact(n): return reduce(lambda a, b...

2019-12-22 23:30:01 253

原创 python assert断言和__debug__

assert 语句可以在程序中引入调试代码。assert 的一般格式为:assert test [, msg]其中 test 是一个表达式,其值应该为 True 或者 False。 如果test 为 False,assert 就会触发 AssertionError 异常并使用在assert中提供可选信息msg, 例如:def write_data(file, data): as...

2019-12-20 17:56:48 126

原创 python3 函数参数总结

一、具体说明看函数调用,说明很清晰。"""函数参数"""import pysnooper@pysnooper.snoop()def tag(name, *content, cls=None, **attrs): """ 生成一个或多个HTML标签 """ if cls is not None: attrs['class'] ...

2019-12-18 11:16:43 64

原创 python pip安装包或者模块换为国内镜像提高下载速度

因为 pip 的指南, windows 中 pip 的配置文件是 %HOME%/pip/pip.ini (具体到当前的环境,Windows的当前用户是dcg,所以配置文件的位置就是 C:\Users\dcg\pip\pip.ini)默认情况下,pip 文件夹 和 pip.ini 文件都没有创建,需要自行创建,创建好文件好后,修改pip.ini文件:这样在使用pip安装模块的时候就调用我们想要的...

2019-11-27 12:26:36 113

原创 python 交互模式有意思的现象

python的交互式模式是它最有用的功能之一。在交互式的shell脚本中,可以输入任意合法的语句或者语句序列,然后立即查看,下面看python作为计算器使用:以交互式使用python时,特殊变量_用于保存最后一次运算结果,在这里只有交互式模式下,此变量才有意义。...

2019-11-20 11:52:17 295

原创 C 输入和输出函数

scanf 和 printf 这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成: “格式控制串”,参数表 。格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。各种类型的格式表示法语言都类似这里就不再介绍了。在 printf 函数中还可以在格式控制串内出现非格式控制字符,这时在显示屏幕上...

2019-10-30 18:08:58 80

原创 简单的C程序介绍

为了说明C语言源程序结构的特点,先看以下几个程序。这几个程序由简到难,表现了C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成一个 C 源程序的基本部分和书写格式。例题 1.1main(){printf("世界,您好!\n");}1、main 是主函数的函数名,表示这是一个主函数。2、每一个 C 源程序都必须有,且只能有一个主函数(main 函数)。...

2019-10-30 17:52:52 172

原创 python 文件和目录处理

本篇主要讲解高级文件和目录的处理模块。1、bz2模块bz2模块用于根据bzip2压缩算法读取和写入压缩数据。BZ2File(filename [, mode [,buffering [, compresslevel]]])打开一份名为filename的.bz2文件,返回一个类文件对象。当mode为r时表示读取,为w是表示写入,为rU时,还可以获取统一的换行支持。 buffering 规...

2019-10-24 12:08:47 60

原创 数据库查找语句select

一、简单查询简单的Transact-SQL查询只包括 选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询 testtable 表中姓名为 “张三” 的 nickname 字段和 email 字段。SELECT nickname,email FROM testtable WHERE name='张三 '(一) 选择列表 选择列...

2019-10-16 20:43:10 214

原创 python selenium 安装和配置

Selenium 简介Selenium 是一个 Web 的自动化测试工具,类型像我们玩游戏用的按键精灵,它支持所有主流的浏览器(包括 PhantomJS 这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截 屏,或者判断网站上某些动作是否发生。Selenium 自己不带浏览器安装方式一:PyPI 网站下载安装 https://pypi...

2019-09-24 15:08:36 152

原创 python math模块

math 模块定义了下列标准算术运算函数。这些函数用于整数和浮点数,但不能用于复数(可以使用单独的模块cmath对复数执行类似操作)。所有函数的返回值都是浮点数。所有的三角函数假定使用弧度。注意:1、将字符串传入float() 可以创建浮点值 +inf、-inf和nan。例如:float(’+inf’)、 float(’-inf’)、float(‘nan’)。2、math.fsum()函数...

2019-09-23 11:50:12 219

原创 git 版本控制起步

Git 简史同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统BitKeeper 来管理和维护代码。到了 2005 年,开发 BitKeeper 的商业公司同...

2019-09-18 11:36:22 75

原创 简单说明python concurrent.futures异步

为了高效处理网络 I/O,需要使用并发,因为网络有很高的延迟,所以为了不浪费 CPU 周期去等待,最好在收到网络响应之前做些其他的事。concurrent.futures 模块的主要特色是 ThreadPoolExecutor 和 ProcessPoolExecutor 类,这两个类实现的接口能分别在不同的线程或进程中执行可调用的对象。这两个类在内部维护着一个工作线程或进程池,以及要执行的任务队...

2019-09-15 22:39:25 520

原创 python 垃圾回收

小整数对象池整数在程序中的使用非常广泛,Python为了 优化速度,使用了小整数对象池, 避免为整 数频繁申请和销毁内存空间。Python 对小整数的定义是 [-5, 257) 这些整数 对象是提前建立好的,不会被垃圾回收。在 一个 Python 的程序中,所有位于这个范围内的整数使用的都是同一个对象。同理,单个字母也是这样的。但是当定义2个相同的字符串时,引用计数为 0,触发垃圾回收 。...

2019-09-15 21:54:40 71

原创 python __new__方法以灵活的方式创建对象

我们通常把 __init__ 称为构造方法,这是从其他语言借鉴过来的术语。其实,用于构建实 例的是特殊方法 __new__:这是个类方法(使用特殊方式处理,因此不必使用 @classmethod 装饰器),必须返回一个实例。返回的实例会作为第一个参数(即 self)传给 __init__ 方 法。因为调用 __init__ 方法时要传入实例,而且禁止返回任何值,所以 __init__ 方法其实是“...

2019-09-15 21:27:34 121

原创 python BeautifulSoup4解析html

官方参考文档:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/Beautiful Soup 是一个HTML/XML 的解析器,主要用于解析和提取 HTML/XML 数据。它基于 HTML DOM 的,会载入整个文档,解析整个 DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。BeautifulSoup 用来解析 HTML 比较简...

2019-09-13 15:18:51 627

原创 python xpath解析html

什么是 XML1、XML 指可扩展标记语言(EXtensible Markup Language)。2、XML 是一种标记语言,很类似 HTML 。3、XML 的设计宗旨是传输数据,而非显示数据 。4、XML 的标签需要我们自行定义。5、XML 被设计为具有自我描述性。6、XML 是 W3C 的推荐标准 。XML 和 HTML 的区别HTML DOM 模型示例HTML DOM ...

2019-09-13 11:33:28 596

原创 python Requests库

中文参考文档: https://2.python-requests.org//zh_CN/latest/index.html简介Requests Python编写,基于 urllib,自称 HTTP for Humans(让HTTP 服务人类)特性:支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自...

2019-09-13 10:56:54 127

原创 python 专业术语

官方参考文档:https://docs.python.org/zh-cn/3/glossary.html当然,这里列出的很多术语不是 Python 专用的,不过某些术语的定义对 Python 社区有特殊的意义,此外,也可以参阅官方的 Python 词汇表,ABC(编程语言)Leo Geurts、Lambert Meertens 和 Steven Pemberton 创造的一门编程语言。20 ...

2019-09-12 18:18:14 882

原创 python urlib库

在Python3.x中,我们可以使用urlib这个组件抓取网页,urllib是一个URL处理包,这个包中集合了一些处理URL的模块 。1、urllib.request模块是用来打开和读取URLs的。2、urllib.error模块包含一些有urllib.request产生的错误,可以使用try进行捕捉处理。3、urllib.parse模块包含了一些解析URLs的方法。4、urllib.ro...

2019-09-12 07:52:09 520

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除