- 博客(325)
- 资源 (29)
- 问答 (12)
- 收藏
- 关注
原创 ipaddress库:Python中网络地址的处理
目录前言地址前言ipaddress库提供了处理IPv4与IPv6网络地址的类。这些类支持验证,查找网络上的地址和主机,以及其他常见的操作。本篇,将详细介绍Python中ipaddress库的使用规则。地址一般来说,我们使用ipaddress库是通过ip_address()函数构建一个地址对象。它会返回一个IPv4Address或IPv6Address实例。实例如下:import ipaddressimport binasciiaddresses = [ '121.63.3.59',
2021-05-18 20:15:50 4518 4
原创 multiprocessing库:Python像线程一样管理进程
目录前言创建一个进程前言multiprocessing库是基于threading API,它可以把工作划分为多个进程。有些情况下,multiprocessing可以作为临时替换取代threading来利用多个CPU内核,相应地避免Python全局解释器锁所带来的计算瓶颈。下面,我们来看看multiprocessing库创建进程与threading库有多像。创建一个进程要创建一个进程,最简单的方式是用一个目标函数实例化一个Process对象,然后与threading一样调用start()函数让它工作
2021-05-17 18:44:47 2668 6
原创 Python数据结构与算法(6)---OrderedDict
目录前言初始OrderedDict相等性move_to_end()前言既然上一篇博文学习了namedtuple转换为OrderedDict。那么本篇博文就直接讲解OrderedDict数据结构的用法。初始OrderedDictOrderedDict顾名思义也是一个字典,不过它是字典的子类。相对于普通的字典,它可以记住其内容增加的顺序。我们来看看普通字典的创建于OrderedDict字典的创建方式对比:import collectionsprint("普通Dict:")a = {}a['a'
2021-05-16 18:00:54 2879 2
原创 smtplib库:Python使用QQ邮箱发送邮件
目录前言发送email文本消息发送email图片与附件消息前言一般来说,每个App都有一个意见反馈功能。对于企业,其意见反馈自然是发送到其服务器上,而对于个人应用来说,因为使用的人相对较少,在初期推广的时候,可以将意见反馈设置成发送到自己邮箱,这样可以节约服务器的资源开销。而Python提供了smtplib库,其中SMTP类可以用来与邮件服务器通信发送邮件。发送email文本消息SMTP最常用的一种用法是连接到一个邮件服务器并发送一个邮件。这里我们需要分3步:我们需要将邮件服务器主机名和端口传
2021-05-15 18:40:42 8904 3
原创 Python数据结构与算法(5)---namedtuple
目录前言初识namedtuple前言在Python中,我们使用元组往往是直接按其索引进行操作的。比如一个c元组(1,2,3),那么获取2值c[1]。对于简单的数据而言,这种操作没有什么问题。但数据结构的重点,就是在实际的需求多样化中,找到最符合的数据结构进行数据的操作变更。而当元组tuple有大量数据时,记住各个值对应哪个索引,显然是不可能的。而namedtuple除了为各个成员指定数值索引外,还为其指定了名字。本篇,将详细介绍namedtuple的使用方式以及优点。初识namedtuple与常
2021-05-14 18:19:15 3055 3
原创 threading库:Python线程的基础知识
目录前言前言前面的subprocess库主要讲解的是进程知识与进程间的交互。而进程有可以拥有多个线程,所以threading库提供了管理多个线程执行的API,允许程序在同一个进程空间并发地运行多个操作。本篇,将详细的介绍Python线程库:threading。...
2021-05-12 18:56:14 5454 3
原创 subprocess库:Python中创建附加进程
目录前言运行外部命令前言subprocess库提供了一个API创建子进程并与之通信。这对于运行生产或消费文本的程序尤其有好处,因为这个API支持通过新进行的标准输入和输出通道来回传数据。本篇,将详细介绍Python创建附加进行的库:subprocess。运行外部命令subprocess库本身可以替换os.system(),os.spawnv()等函数。现在我们来通过subprocess库运行一个外部命令,但不采用os.system()。示例如下:import subprocesscomple
2021-05-10 18:11:22 3737 4
原创 Python数据结构与算法(3)---统计可散列的对象Counter
目录前言初始化Counter遍历Counterelements()most_common算数操作前言Counter是一个容器,可以跟踪等效值增加的次数。这个类可以用来实现其他语言中常用包或多集合数据结构实现的算法。本篇,将详细介绍容器Counter的使用方式。初始化CounterCounter支持3种形式的初始化,比如提供一个数组,一个字典,或单独键值对“=”式赋值。具体初始化的代码如下所示:import collectionsa = collections.Counter(['a', 'a
2021-05-09 20:22:19 3871
原创 mmap库:Python内存映射文件操作
目录前言mmap()(读文件)write()(写文件)前言内存映射通常可以提高I/O的性能,因为使用内存映射时,不需要对每个访问都建立一个单独的系统调用,也不需要在缓冲区之间复制数据,内核和用户都能很方便的直接访问内存。本篇,将详细介绍Python内存映射库:mmap。mmap()(读文件)使用mmap()函数可以创建一个内存映射文件。该函数的第1个参数是一个文件描述符,可以通过file对象的fileno()函数获取;第2个参数是要映射的文件部分大小(单位字节),如果该值为0,映射整个文件,如果该
2021-05-08 18:08:39 7359 3
原创 Python数据结构与算法(2)---字典序列ChainMap
目录前言ChainMap重排列更新值前言容器数据类型包括数组list,字典dict以及元组tuple等。本篇,将详细介绍ChainMap字典序列的使用。ChainMapChainMap类管理的是一个字典序列,并按其出现的顺序搜索以查找与键关联的值。ChainMap提供了一个很好的“上下文”容器,因此可以把它看成一个栈,栈增长时发生变更,栈收缩时这些变更被丢弃。下面,我们来看看其基本的使用规则:import collectionsa = {"a": "A", "c": "c", }b = {
2021-05-07 18:02:32 4001 4
原创 fliecmp库:Python比较文件操作
目录前言生成示例文件cmp()(比较文件)cmpfiles()(比较一组文件)dircmp()(比较目录)left_list与right_list忽略部分文件进行对比其他属性前言对于文件的比较一般有几种,比如比较文件的内容,比较文件的大小,或者直接对比整个项目文件。特别是在项目的更新迭代中,可以通过该库来比较当前版本与之前版本有哪些文件不同。所以,本篇将详细讲解Python的文件比较库:filecmp。生成示例文件在比较文件之前,我们首先需要有用于比较的文件。所以,为了后面的测试,我们先来创建一些
2021-05-06 18:45:21 4510 1
原创 Python数据结构与算法(1)---枚举类型enum
目录前言创建枚举迭代枚举比较枚举enum.IntEnum唯一枚举值代码中创建枚举前言之所以博主思考再三,开设一个数据结构的基础冷门课程。是因为目前大多数数据结构的书籍都使用的是C/C++,无疑增加了学习的门槛。而python语言相对来说,更容易入门掌握,通过python学习数据结构与算法,对于初学者似乎更加的友好。本篇,首先介绍的是枚举类型。在python库中,提供了枚举模块enum。通过该模块,我们可以定义程序员容易理解的字面量整数与字符串。创建枚举话不多说,我们先来创建一个简单的枚举类:星期
2021-05-05 19:17:31 4868 2
原创 shutil库:Python高级文件操作
目录前言copyfile()copy()与copy2()copymode()与copystat()复制整个文件夹参数copy_function参数ignore删除整个文件夹移动文件夹或文件查找文件归档压缩文件解压缩文件系统空间前言什么算是高层的文件操作呢?普通的文件操作,我们一般只涉及创建文件,文件夹以及写入文件等等。假如我现在需要复制一个文件的内容到另一个文件之中,用pathlib等都只能先打开复制文件,然后进行将其读出来保存,然后再写入新的文件,这种普通的复制操作,无形之中增加了许多步骤。而sh
2021-05-04 19:47:48 5466 4
原创 re库:Python中正则表达式的处理与应用
目录前言查找文本多重匹配前言re库就是我们常说的正则表达式库,它是用一种形式化语法来描述的文本匹配模式。通过该库,我们可以匹配特定字符串中的一些内容,比如爬取网页内容时,我们可以通过re库获取网页内容中的所有标签内容。本篇将详细讲解re库的使用规则。查找文本比如,在一串字符串文本中,我们需要查找一个子字符串是否在该字符串中,并返回其具体的位置索引,该怎么做呢?import recontent = "My name is Li Yuanjing"pattern = "name"match
2021-05-02 18:01:03 4974 1
原创 glob库:文件名的匹配
目录前言通配符星号(*)问号(?)区间匹配([0-9][a-z][A-Z])转义元字符前言既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob。不过,glob库的API非常小,但是仅仅应用于文件名的匹配绰绰有余。只要是在实际的项目中需要过滤,或者匹配一组文件,都可以使用该库进行操作。通配符星号(*)话不多说,下面我们使用通配符来匹配文件名,示例如下:import globfor name in sorted
2021-04-30 18:01:00 5595
原创 Pathlib库:Python面向对象的文件路径处理
目录前言建立路径joinPath()路径格式化with_name()与with_suffix()解析路径home()与cwd()获取当前路径下的所有文件路径设置条件获取文件(glob()与rglob())读写文件前言Pathlib库提供了一个面向对象的API来解析,建立,测试和处理文件名和路径,而不是使用底层字符串操作。其中Pathlib库有2个非常关键的类名:PurePosixPath,PureWindowsPath。它们可以在任意操作系统上实例化和使用,因为它们只处理文件名与目录名。要实例化一个
2021-04-29 18:01:42 7282 2
原创 textwrap库:Python格式化文本段落
目录前言切割文档文本缩进文本去缩进截断文本前言前文是针对普通的字符串数据进行处理。今天,我们要讲解的textwrap库,是对多文本进行处理的库。比如对于段落的缩进,填充,截取等,都可以通过textwrap库进行操作。特别是自己编写打印程序的时候,可以使用该库进行校正文档非常便捷,大大的加快了文本格式的处理。话不多说,我们来一步步学习textwrap库。切割文档一般来说,一篇英文文档在不考虑换行的情况下,默认是填充整个文档行才切换至下一行的。现在,我们需要保证每行必须有且仅有50个字符怎么办?我们
2021-04-27 19:45:38 5907 1
原创 calendar库:Python日历的处理与生成
目录前言prmonth()与TextCalendar()前言calendar库也是用于处理日期的库,像前面的某些函数返回星期是[1-7],有的是[0-6]。会给很多程序员在判断的时候造成不便。而calendar库能自己设定星期的规则,比如中国常用的每个星期从星期1开始,那么日历就可以生成从星期一开始的日历。本篇,就将详细讲解calendar库的使用规则。prmonth()与TextCalendar()prmonth()是一个简单的函数,可以生成月的格式文本输出。具体用法如下所示:import c
2021-04-26 18:03:15 8351 2
原创 datetime库:Python日期与时间值管理计算
目录前言获取当前时间前言datetime库也用于时间日期的处理,主要用于完成日期和时间的解析,格式化和算术运算。本篇,将完整的介绍datetime库的应用知识。获取当前时间与time库一样,datetime库也有获取当前时间的函数:datetime.date.today()。通过该函数,也可以分离出具体的年月日时分秒等具体的时间值。具体代码如下:在这里插入代码片...
2021-04-25 18:05:16 10662 2
原创 time库:Python的时间时钟处理
目录前言获取各种时钟获取当前时间时间加减法处理时区前言time库运行访问多种类型的时钟,这些时钟用于不同的场景。本篇,将详细讲解time库的应用知识。获取各种时钟既然time库提供了多种类型的时钟,下面我们直接来获取这些时钟,对比其具体的用途。具体代码如下:import timeprint(time.monotonic())print(time.monotonic_ns())print(time.perf_counter())print(time.perf_counter_ns())p
2021-04-24 18:05:29 9253 3
原创 string库:Python的文本常量与字符串模板
目录前言首字母大写字符串模板高级模板format用法基本用法进阶用法高阶用法前言在程序中,有很多高效率的字符串处理方式,如果开发者能够完全掌握这些高效的字符串处理,往往在开发者也能事半功倍。比如针对于字符串的处理,也是自然语言处理的基础知识。而python3中,处理字符串的库为:string。本篇将详细介绍各种字符串的高效处理方式。首字母大写对于英文单词组成的字符串来说,很多时候,我们需要对英文的首字母进行大写的变更。如果没有了解其高效率的函数,一般我们都通过循环,判断空格,取空格后一位的字母,判
2021-04-23 18:38:10 8425 2
原创 预测分词---Python自然语言处理(8)
目录前言加载模型构建词网前言在机器学习中,我们有了训练集的话,就开始预测。预测是指利用模型对句子进行推断的过程。在中文分词任务中也就是利用模型推断分词序列,同时也叫解码。在HanLP库中,二元语法的解码由ViterbiSegment分词器提供。本篇将详细介绍ViterbiSegment的使用方式加载模型在前篇博文中,我们已经得到了训练的一元,二元语法模型。后续的处理肯定会基于这几个文件来处理。所以,我们首先要做的就是加载这些模型到程序中:if __name__ == "__main__":
2021-04-22 19:20:39 6896
原创 python股票量化交易学习目录
python股票量化交易目录K线图、均线与成交量绘制震荡类指标KDJ趋势类指标MACD金叉与死叉股价跳空缺口使用TA-Lib计算技术指标K线图:乌鸦、乌云压顶、十字星K线图:锤头,射击之星,早晨之星使用TA-Lib库实现股价走势对比图使用机器学习算法预测股票涨跌使用pyqt5构建股票交易软件主页使用pyqt5构建股票交易软件主页使用pyqt5构建股票交易K线形态使用pyqt5构建股票交易龙虎榜使用pyqt5构建股票交易北向资金...
2021-04-22 19:18:24 2714 33
原创 OpenCV-Python开发指南学习目录
OpenCV-Python开发指南目录如何让图像变亮图像加权和制作鬼影按位与运算获取图像重要的部分位平面分解与合成图像的加密和解密数字水印的嵌入与提取色彩空间类型色彩空间转换与HSV的简单应用HSV标记肤色与实现艺术效果几何变换之缩放几何变换之翻转几何变换之仿射几何变换之透视几何变换之重映射常规5大阈值处理自适应阈值处理与Otsu处理图像平滑处理腐蚀与膨胀通用形态学函数图像梯度与Sobel滤波器Scharr与Laplacian滤波器Canny边缘检测图像金字塔
2021-04-22 19:12:08 1471 8
原创 拼音转换---Python自然语言处理(6)
目录什么是拼音转换拼音转换输出音调输出声调输出声母输出韵母处理数字拼音什么是拼音转换在我们学习语言之前,我们一般会学习拼音来认识汉字,并学会如何读汉字。所以,拼音在对于我们语言的重要性不言而喻。而拼音转换指的是将汉字转为拼音的过程。但是,我们中文博大精深,一般来说某个字并不仅仅只有一个读音,比如“翟”,它作为姓氏可以读作zhái,作为其他可读作di。这是就需要结合上下文,或者说结合与其组合的词汇进行转换拼音。不仅如此,拼音还有音调,比如一二三四声表示的意义有时候也是不一样的。本篇博文将介绍字符串到拼
2021-04-20 18:13:33 7754
原创 简繁体转换---Python自然语言处理(5)
目录简体繁体转换使用CharTable进行简繁体转换多种繁简之间的转换简体繁体转换如今,世界上存在两种中文,一种是中文简体,一种是中文繁体。如果要完全掌握中文语言的自然语言处理,那么简繁都不可避免。所以,掌握了简体与繁体的转换,往往能够事半功倍。而HanLP也提供了简繁转换的类:CharTable,用它来执行字符正规化。比如简体转换繁体,全角转换半角,大写转换小写,都可以使用该类来实现。使用CharTable进行简繁体转换下面,我们来直接使用CharTable进行一段诗词的繁体到简单的转换。具体代
2021-04-19 18:05:03 7535
原创 停用词过滤---Python自然语言处理(4)
目录什么是停用词加载停用词字典删除停用词分词以及删除停用词直接删除停用词(不分词)什么是停用词在汉语中,有一类没有多少意义的词语,比如组词“的”,连词“以及”、副词“甚至”,语气词“吧”,被称为停用词。一个句子去掉这些停用词,并不影响理解。所以,进行自然语言处理时,我们一般将停用词过滤掉。而HanLP库提供了一个小巧的停用词字典,它位于Lib\site-packages\pyhanlp\static\data\dictionary目录中,名字为:stopwords.txt。该文本收录了常见的中英文无意
2021-04-18 18:15:26 16653 1
原创 字典树---Python自然语言处理(3)
目录什么是字典树DoubleArrayTrieSegmentAhoCorasickDoubleArrayTrieSegment什么是字典树在自然语言处理中,字符串集合常用字典树存储,这是一种字符串上的树形数据结构。字典树中每条边都对应一个字,从根节点往下的路径构成一个个字符串。字典树并不直接在节点上存储字符串,而是将词语视作根节点到某节点之间的一条路径,并在终点节点上做个标记(表明到该节点就结束了)。要查询一个单词,指需要顺着这条路径从根节点往下走。如果能走到标记的节点,则说明该字符串在集合中,否则
2021-04-17 18:08:14 7443 1
原创 切分算法---Python自然语言处理(2)
目录前言完全切分正向最长匹配逆向最长匹配双向最长匹配前言我们需要分析某句话,就必须检测该条语句中的词语。一般来说,一句话肯定包含多个词语,它们互相重叠,具体输出哪一个由自然语言的切分算法决定。常用的切分算法有完全切分、正向最长匹配、逆向最长匹配以及双向最长匹配。本篇博文将一一介绍这些常用的切分算法。完全切分完全切分是指,找出一段文本中的所有单词。不考虑效率的话,完全切分算法其实非常简单。只要遍历文本中的连续序列,查询该序列是否在词典中即可。上一篇我们获取了词典的所有词语dic,这里我们直接用代
2021-04-16 18:05:39 8202 1
原创 初体验HanLP---Python自然语言处理(1)
目录前言安装HanLP库词典的加载前言目前开源的自然语言处理工具有NLTK,CoreNLP,LTP,HanLP。对于我们中国的程序员来说,一般使用哈工大的LTP,或者使用开源的HanLP。我们后续的讲解都是基于HanLP工具,它具有词法分析,句法分析,关键词提取以及文本分析等。优点是运行特别快,省内存,精度准且免费的特性。安装HanLP库既然我们已经了解了HanLP库的优点,下面,我们安装该库用于后续的开发实战:pip install pyhanlp -i https://pypi.tuna.t
2021-04-15 18:02:24 8759
原创 实现人脸手动祛痘效果---OpenCV-Python开发指南(60)
目录人脸祛痘原理实现手动人脸祛痘人脸祛痘原理其实,在前面的人脸磨皮以及美白的时候,我们就已经完成了人脸的祛痘,只要高度磨皮(双边滤波)就能达到祛痘的效果。但是一般来说,现在的美图App都会给用户提供手动祛痘的功能,毕竟自动美白祛痘的效果再怎么好,都不可能完美的复原所有的人脸,那么额外的针对个人的修复就显得格外重要。其实人脸祛痘说白了,就是图像修复。而OpenCV中提供的修补函数为cv2.inpaint()。这里,我们先来看看改函数的定义:def inpaint(src, inpaintMask,
2021-04-14 17:59:40 8268
原创 实现人脸美白算法---OpenCV-Python开发指南(59)
目录人脸美白原理人脸美白原理人脸美白原理说透了,就是一种图像的颜色空间处理,所以我们需要通过颜色空间进行设计。不过,我们先来参考以下PS对于图像美白的处理步骤:首先,新建一个图层,将这个图层设置为白色接着,将白色图层与原本图像进行alpha通道的颜色混合,这样就可以使图像整体变白。...
2021-04-13 18:05:24 10554 4
python音频处理thinkdsp.zip
2020-03-06
Android Support Design Library之TabLayout
2015-12-31
网易新闻之24小时要闻
2015-10-29
Protocol Buffers 2.6.1 full source
2015-05-22
VA_X_Setup1908.exe
2012-08-21
友盟qq登录错误no permission to write apn setting
2016-01-17
Android listpopupwindow怎么让其一直显示
2016-01-16
Android CardView的边框怎么去掉?
2015-12-26
二层爬虫程序数据获取问题?
2015-12-01
深层次的网络爬虫怎么实现?
2015-11-30
android动画问题,XML写闪烁,动态代码写为什么不闪烁?
2015-10-01
Android输入法挤压问题
2015-09-23
为什么drozer命令会出现下图的结果,别人为什么有详细信息?
2015-08-17
RIL中的I/O事件和超时事件和区别?
2015-08-10
Linux文件描述符相关问题?
2015-08-06
openGL关于圆柱的一些问题?
2015-06-30
openGL关于圆柱的一些问题?
2015-06-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人