python
文章平均质量分 75
Charles.zhang
朝闻道,夕死可矣。路漫漫其修远兮,吾将上下而求索。
展开
-
百度图像搜索爬虫BaiduImagesDownload
BaiduImagesDownload是一个快速、简单百度图片爬取工具,可以通过pip install 直接安装安装pip install BaiduImagesDownload使用基本from BaiduImagesDownload.crawler import Crawler# original为True代表优先下载原图net, num, urls = Crawler.get_images_url('二次元', 20, original=True)Crawle...原创 2020-11-12 17:40:49 · 907 阅读 · 1 评论 -
python强大的区间处理库interval用法介绍
python强大的区间处理库interval用法介绍原文发表在我的博客主页,转载请注明出处前言这个库是在阅读别人的源码的时候看到的,觉得十分好用,然而在网上找到的相关资料甚少,所以阅读了源码来做一个简单的用法总结。在网络的路由表中,经常会通过掩码来表示流表的匹配域,在python中有的时候为了方便的模拟流表的匹配过程,可以通过一个整数区间来表示诸如IP等的匹配范围,而本文介绍的库在区间处理上是十分的强大与方便。用法举例不论是在Linux系统还是Windows系统上,我们都可以方便的安装p转载 2020-10-13 11:47:51 · 4619 阅读 · 1 评论 -
python itertools.product的用法
目前有一字符串s ="['a', 'b'],['c', 'd']",想把它分开成为两个列表:list1 = ['a', 'b']list2 = ['c', 'd']之后使用itertools.product()求笛卡尔积,应该写成:1 for i in itertools.product(list1, list2):2 print i结果为:('a', 'c')('a', 'd')('b', 'c')('b', 'd')然而使用eval(s)获得的是一个元组.转载 2020-10-12 18:05:14 · 7979 阅读 · 1 评论 -
python语言转换库snowballstemmer
安装pip install snowballstemmer这是一款非常瘦小的语言转换库,支持15种语言。 'danish': 丹麦语, 'dutch': 荷兰语, 'english': 英语, 'finnish': 芬兰语, 'french': 法语, 'german': 德语, 'hungarian': 匈牙利语, 'italian': 意大利语, 'norwegian': 挪威语, 'porter': 波特转载 2020-09-28 10:39:42 · 2438 阅读 · 0 评论 -
Python解压压缩包的几种方法
这里讨论使用Python解压例如以下五种压缩文件:.gz .tar .tgz .zip .rar简单介绍gz:即gzip。通常仅仅能压缩一个文件。与tar结合起来就能够实现先打包,再压缩。tar: linux系统下的打包工具。仅仅打包。不压缩tgz:即tar.gz。先用tar打包,然后再用gz压缩得到的文件zip:不同于gzip。尽管使用相似的算法,能够打包压缩多个文件。只是分别压缩文件。压缩率低于tar。rar:打包压缩文件。最初用于DOS,基于window操...转载 2020-08-20 20:32:15 · 781 阅读 · 0 评论 -
python不解压读取zip压缩包图片
python不解压读取zip压缩包图片/文件限于电脑上空间不够,没有办法将上百G的数据集解压到电脑上,因此需要一种方法能够直接读取压缩包内的图片进行训练。首先,代码如下:#!/usr/bin/env python3#coding=utf-8#============================##Program:readzip.py# 不解压读取.zip压缩包内的图片并显示#Date:19-11-21#Author:liheng#Version:V1.0#==转载 2020-08-20 20:01:28 · 2089 阅读 · 0 评论 -
Queue.queue 退出与阻塞
Queue.queue 退出与阻塞#-*-coding:utf-8-*-import threadingimport queueimport timeimport random'''1.创建一个 Queue.Queue() 的实例,然后使用数据对它进行填充。2.将经过填充数据的实例传递给线程类,后者是通过继承 threading.Thread 的方式创建的。3.每次从队列中取出一个项目,并使用该线程中的数据和 run 方法以执行相应的工作。4.在完成这项工作之后,使用 queue.转载 2020-07-29 14:18:13 · 968 阅读 · 0 评论 -
multiprocessing.Queue()和queue.Queue()的区别
1、导入方式 frommultiprocessingimportPool,Process,Queue from Queue import Queue Queue.Queue是进程内非阻塞队列,multiprocess.Queue是跨进程通信队列。2、区别1.from queue import Queue 这个是普通的队列模式,类似于普通列表,先进先出模式,get方法会阻塞请求,直到有数据get出来为止2.from multiprocessin...转载 2020-07-29 14:17:30 · 2001 阅读 · 0 评论 -
python 通过操作码控制输出字符的颜色
【Python】】print("\033[1;33m HI,Girl~ \033[0m \n");用法例一:print("\033[0;31m Hi, Girl~ \033[0;39m\n")例二:print(“中国工商银行日间客流高峰提示牌”.center(30))for i in range(len(time)-1):print(time[i],’:’,time[i+1],end=’’)quant=math.ceil(int(person[i]) / 600)print((’转载 2020-06-18 21:14:51 · 625 阅读 · 0 评论 -
Python忽略warning警告错误
python开发中经常遇到报错的情况,但是warning通常并不影响程序的运行,而且有时特别讨厌,下面我们来说下如何忽略warning错误。在说忽略warning之前,我们先来说下如何主动产生warning错误,这里用到warnings模块,看如下代码:importwarningsdeffxn():warnings.warn("deprecated", DeprecationWarning)with warnings.catch_warnings():warni...转载 2020-06-17 15:50:20 · 2022 阅读 · 0 评论 -
pandas读取和写入excel多个sheet表单
一、读取多个表单import pandas as pdexcel_reader=pd.ExcelFile('文件.xlsx') # 指定文件sheet_names = excel_reader.sheet_names # 读取文件的所有表单名,得到列表df_data = excel_reader.parse(sheet_name=sheet_names[i]) # 读取表单的内容,i是表单名的索引,等价于pd.read_excel('文件.xlsx', sheet_name=sheet转载 2020-06-11 17:47:11 · 2929 阅读 · 0 评论 -
用pyinstaller将python文件打包成EXE文件详解,附踩坑记录
目录一、安装pyinstaller库二、执行生成exe文件三、命令分析(一)、基础命令二)、将库文件单独存放在目录中四、动态导入的库5、踩坑记录1、pyinstaller打包exe文件闪退解决方案一、安装pyinstaller库直接命令行pip安装pip install pyinstaller二、执行生成exe文件我们现在有一个雷霆战机的小游戏, 名为plane_war.py现在我们打开cmd, 进入到该目录下输入下面的命令.原创 2020-06-07 17:41:45 · 4222 阅读 · 0 评论 -
误删pip以及重新安装
本来想直接对旧版pip进行更新的,cmd中操作老是失败。一气之下将旧版的删除,重新安装新版的。pip的安装包在这里获得:点击获取直接下载.tar.gz的压缩包至之前pip的文件夹并解压,在解压后的pip文件夹中进入cmd,windows系统下输入pyhon setup.py install系统就开始自动安装了,成功后用pip -V测试即可。————————————————版权声明:本文为CSDN博主「FreedomNeverFree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附转载 2020-06-07 09:09:19 · 2675 阅读 · 0 评论 -
用python打开电脑摄像头,并把图像传回qq邮箱【Pyinstaller打包】
前言:如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。注: 这个程序仅限在朋友之间开玩笑,别去搞什么违法的事情哦。代码发送邮件使用python内置的email模块即可完成。导入相应的代码封装为一个send函数,顺便导入需要导入的包注: 下面的代码有三处要修改的地方,两处写的qq邮箱地址,还有一处写的qq邮箱授权码,不知道qq邮箱授权码的可以去百度一下import smtplibfrom email.mime.multipart import MIM转载 2020-06-05 09:28:06 · 862 阅读 · 2 评论 -
python中的super函数及MRO
super() 函数是用于调用父类(超类)的一个方法。super是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。此篇博客所用解释器为python3.x,不保证在其他版本解释器下得到相同结果,也不打算讨论早期python版本的mro机制。调用父类(超类)方法的两种方式:类名.方法名这种方式简单易懂,但是无法处理多继承的问题,多继承是python面向对象技术的一项重要特性,为了利用好python转载 2020-06-04 20:42:41 · 448 阅读 · 0 评论 -
python之实现每日任务调度功能
由于项目需要,有许多开发的小程序,需要每日定时执行,但是又不想用linux自用的crontab功能,所以试着项目中的批量调度编排模式,手写了python版的任务调度。目录结构pycrontab + bin --存放task配置的任务程序 + +exec.py -- 任务启动程序 + log + tasks --任务配置信息、实例化配置信息 + tools --工具类 + +logger.py --日志封装类 + +thread.py-- 线程封装类 + config转载 2020-06-01 12:41:53 · 1252 阅读 · 0 评论 -
python爬虫:爬取链家深圳全部二手房的详细信息
1、问题描述:爬取链家深圳全部二手房的详细信息,并将爬取的数据存储到CSV文件中2、思路分析:(1)目标网址:https://sz.lianjia.com/ershoufang/(2)代码结构:class LianjiaSpider(object): def __init__(self): def getMaxPage(self, url): # 获取...转载 2020-03-31 16:26:20 · 2703 阅读 · 12 评论 -
Python嵌套列表转一维(压平嵌套列表)
前一段去云英面试,技术官很”不厚道“了问了一个非常简单的问题:如何将多维列表转化了一维的?当时虽然想到了使用迭代或者列表生成式可以做到,但是可以没能可行的代码,回来后一顿后悔。对于规范的且嵌套维度较低的多维列表,python中有很多方法可以实现:a=[[1,2],[3,4],[5,6]]print [j for i in li for j in i]#orfrom ...转载 2020-03-26 15:32:24 · 1065 阅读 · 0 评论 -
python:如何准确的获取一个对象(比如字典)的内存占用
python中,sys模块里面有一个getsizeof函数,其可以获取某个对象的内存占用,但是要注意的是,该函数只能获取对象本身直接占用的内存,该对象所指向的引用所占据的内存并不会被计算在内;python中,比如当对象是一个容器时,那么getsizeof函数就无法获取该容器内部所有内容的内存占用了,返回的只是容器本身的内存占用,比如字典。对此,官方文档给出了一种途径...转载 2020-03-20 15:51:41 · 2647 阅读 · 0 评论 -
python中使用psutil查看内存占用
有的时候需要对python程序内存占用进行监控,这个时候可以用到psutil库,Anaconda中是自带的,如果import出错,可以用pip install psutil(安装在python中)或conda install psutil(安装在Anaconda中)#常用的:import psutilimport osinfo = psutil.virtual_memory()p...转载 2020-03-20 14:14:07 · 530 阅读 · 0 评论 -
python字符串有多少字节
python字符串有多少字节是否有一些函数可以告诉我字符串在内存中占用多少字节?我需要设置套接字缓冲区的大小,以便一次传输整个字符串。解决方案import syssys.getsizeof(s)# getsizeof(object, default) -> int# Return the size of object in bytes.但实际上你需要知道它...转载 2020-03-18 14:40:10 · 965 阅读 · 0 评论 -
利用正则表达式,去除python文件中所有注释
简介有时候代码的注释写的太多,反而影响对程序的理解手动删除所有注释代码,又过于麻烦所以基于 文件读写,异常处理,正则字符串 等知识写了这么个小程序程序特点在任意位置终端(cmd)中运行此程序,将需要删除注释的.py文件,拖拽到终端窗口中。都可以在源文件路径下,生成无注释版本的文件.py和 注释的备份 .txt文件源代码import redef file_a...转载 2020-01-19 10:03:15 · 1670 阅读 · 1 评论 -
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
import os# os 模块用来处理文件夹及文件目录import stringimport renum_code = 0num_empty = 0num_note = 0os.chdir('E:\python\wenjian\ex-2')# os.chdir 用来改变当前处理路径f = open('spider_maoyan.py')read_f = f.readl...转载 2020-01-19 10:00:17 · 374 阅读 · 0 评论 -
lintcode练习-145.大小写转换
描述将一个字符由小写字母转换为大写字母样例a -> Ab -> Bclass Solution: """ @param character: a character @return: a character """ def lowercaseToUppercase(self, character): # write your code her...原创 2018-05-17 15:15:15 · 1017 阅读 · 0 评论 -
OpenCV学习笔记-Harris角点检测
一、引言:关于兴趣点(interest points)在图像处理和计算机视觉领域,兴趣点(interest points),或称做关键点(keypoints)、特征点(feature points)被大量用于解决物体识别,图像识别、图像匹配、视觉跟踪、三维重建等一系列问题。我们不再观察整幅图,而是选择某些特殊的点,然后对它们进行局部有的放矢的分析。如果能检测到足够多的点,同时它们的区分度很高,并且...原创 2018-06-02 20:05:43 · 6802 阅读 · 0 评论 -
OpenCV学习笔记-Shi-Tomasi角点检测
一、原理我们知道Harris角点检测的打分公式为: R = λ1λ2 - k(λ1 + λ2)²但是Shi-Tomasi使用的打分函数为: R = min(λ1, λ2)如果打分超过阈值,我们就认为它是一个角点。我们可以把它绘制...原创 2018-06-02 20:28:32 · 5478 阅读 · 0 评论 -
OpenCV学习笔记-轮廓特征
查找轮廓的不同特征,例如面积,周长,重心,边界框等矩:cv.moments()轮廓面积:cv.contourArea()轮廓周长:cv.arcLength()轮廓近似:cv.approxPolyDp()边界矩形:cv.boundingRect()最小外接矩形: cv.minAreaRect() cv.boxPoints()最小外接圆:cv.minEnclosingCircle()椭圆拟合:cv.e...原创 2018-05-26 17:57:34 · 1011 阅读 · 0 评论 -
sklearn-数据集划分
一般我们划分数据集都是用sklearn.model_selection里的函数,当然也可以人工划分一、train_test_split最常用的是train_test_split()函数,用来随机划分样本数据为训练集和测试集。优点:随机客观的划分数据,减少人为因素使用:x_train, x_test, y_train, y_test = train_test_split(data, label, ...原创 2018-05-27 12:17:21 · 8479 阅读 · 0 评论 -
OpenCV学习笔记-亚像素级精确度的角点-Python版
在学习亚像素级精确度的角点的过程中,我在书中的代码里遇到了几个想不通的地方,在网上百度也都是C++版本的讲解,通过多番查找,总算是弄明白了一点,特此记录一下,以便日后需要时可以回来看看。同时也希望能对学习Python的小伙伴有帮助。转载请注明出处,原创不易----zyh 2018-6-3一、亚像素级精确度的角点如果我们进行图像处理的目的不是用于识别特征点而是进行几何测量,则通常需要更高的精度,而c...原创 2018-06-03 16:40:29 · 6868 阅读 · 3 评论 -
OpenCV学习笔记-形状匹配
函数cv.matchShape()可以帮我们比较两个形状或轮廓的相似度。如果返回值越小,匹配越好。它是根据Hu矩来计算的。Hu矩是归一化中心矩的线性组合,之所以这样做是为了能够获取代表图像的某个特征的矩函数。这些矩函数对某些变化如缩放,旋转,镜像映射(除了h1)具有不变形。具体代码:def matchshape_demo(): #性状匹配 img1 = cv.imread('img...原创 2018-05-27 18:38:41 · 9467 阅读 · 0 评论 -
OpenCV学习笔记-SIFT
一、原理参考大神的博客,介绍的非常详细SIFT算法详解二、函数介绍opencv 3.x中的部分函数有改变:SIFT、SURF等都在cv.xfeatures2d模块中函数sift.detect()可以在图像中找到关键点。如果想在图像中的一个区域搜索的话,可以创建一个掩模图像作为参数使用。返回的关键点是个带有很多不同属性的特殊结构体,这些属性如下:pt: 表示图像中关键点的X坐标和Y坐标size...原创 2018-06-03 19:45:23 · 6536 阅读 · 0 评论 -
OpenCV学习笔记-SURF
一、原理参考两位大神的博客:原理解释:SURF原理解释数学公式:SURF数学公式二、函数及代码因为版本改动的原因,所以一些书上的代码都报错了,这个是能运行的代码。首先我们先初始化SURF函数,并可以直接指定hessianthreshold的值,通过surf.getHessianThreshold()可以查看HessianThreshold的值。我们也可以通过surf.setHessianThres...原创 2018-06-03 20:49:17 · 2097 阅读 · 0 评论 -
OpenCV学习笔记-腐蚀和膨胀
形态学操作是根据图像形状进行的简单操作。一般情况下对二值化图像进行的操作。一、腐蚀这个操作会把前景物体的边界腐蚀掉(但是前景仍然是白色)。卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是1,那么中心元素就保持原来的像素值,否则就变为0。作用:1、前景物体会变小,整幅图像的白色区域会减少,这对于去除白噪声很有用。2、平滑对象边缘3、弱化或分割图像之间的半岛型连接代码:def erode_...原创 2018-05-28 12:13:27 · 7590 阅读 · 0 评论 -
几种Python执行时间的计算方法
转载自:https://blog.csdn.net/wangshuang1631/article/details/54286551首先说一下我遇到的坑,生产上遇到的问题,我调度Python脚本执行并监控这个进程,python脚本运行时间远远大于python脚本中自己统计的程序执行时间。 监控python脚本执行的时间是36个小时,而python脚本中统计自己执行的时间是4个小时左右。 问题暴漏之后...转载 2018-06-04 11:06:18 · 2442 阅读 · 0 评论 -
lintcode练习-14.二分查找
class Solution: """ @param nums: The integer array. @param target: Target to find. @return: The first position of target. Position starts from 0. """ def binarySearch(self, nums, tar...原创 2018-05-28 17:50:49 · 221 阅读 · 0 评论 -
七种经典排序算法python实现
最近要考算法设计,所以把排序算法总结一下。经典的排序算法包括:冒泡排序,选择排序,插入排序,快速排序,归并排序,堆排序和希尔排序。全部程序都用python3实现,默认从小到大排序。参考文章:https://blog.csdn.net/ls5718/article/details/51809866,博主的文章里面有演示动图,不懂的时候可以看下动图。一、冒泡排序 BubbleSort介绍:让两数...原创 2018-06-04 18:39:46 · 775 阅读 · 0 评论 -
OpenCV学习笔记-角点检测的FAST算法
一、原理在实时的视频流处理中,需要对每一帧特征提取,对算法处理速度上有很高的要求,传统的SIFT,Harris等特征点提取很难满足。由此提出Fast(Features from Accelerated Segment Test),由于不涉及尺度,梯度,等复杂运算,Fast检测器速度非常快。它使用一定邻域内像元的灰度值与中心点比较大小去判断是否为一个角点。但它的缺点是不具有方向性,尺度不变性。二、使...原创 2018-06-04 20:59:24 · 899 阅读 · 0 评论 -
OpenCV学习笔记-BRIEF
原理转载自https://blog.csdn.net/luoshixian099/article/details/48338273,后面的代码是我用python实现的还有两个博主的讲解也很清楚:点击打开链接,点击打开链接传统的特征点描述子如SIFT,SURF描述子,每个特征点采用128维(SIFT)或者64维(SURF)向量去描述,每个维度上占用4字节,SIFT需要128×4=512字节内存,SU...转载 2018-06-04 21:43:58 · 1708 阅读 · 0 评论 -
OpenCV学习笔记-ORB
一、原理具体原理参考博客:ORB原理,这里只是简单介绍SIFT 和 SURF 算法是有专利保护的 如果你 使用它们 就可能要花钱 。但是 ORB 不需要ORB基本是FAST关键点检测和BRIEF关键点描述符的结合体, 并很多修改增强了性能。 先它使用 FAST 找到关键点, 然后再使用 Harris 角点检测对 这些关键 点进行 排序找到其中的前 N 个点。它也使用 金字塔从而产生尺度不变性特...原创 2018-06-05 09:17:53 · 5831 阅读 · 4 评论 -
OpenCV学习笔记-brute_force特征匹配
Brute-Force匹配器也就是蛮力匹配器,顾名思义,它的工作原理是:在第一幅图像上选取一个关键点,然后依次与第二幅图像的每个关键点进行(描述符)距离测试,最后返回距离最近的关键点。对于BF匹配器,我们首先要使用cv.BFMatcher()创建一个BFMatcher对象。它有两个可选参数。第一个是normType,它用来指定要使用的距离测试类型。默认值为cv.NORM_L2,这个类型很适合SIF...原创 2018-06-05 11:02:49 · 6179 阅读 · 3 评论