自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

python学习者的博客

人生苦短,我用python

  • 博客(82)
  • 资源 (2)
  • 收藏
  • 关注

转载 Python多线程与多线程中join()的用法

Python多线程与多进程中join()方法的效果是相同的。下面仅以多线程为例:首先需要明确几个概念:知识点一:当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束,例子见下面一。知识点二:当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一

2021-03-31 15:38:24 210

转载 python中四种获取文件后缀名的方法

获取文件的后缀名有好几种方法:第一种:splittext()方法os.path.splittext(path)[-1]第二种:endswith()方法path = "test_user_info.py"bool = path.endswith(".py")print(bool)第三种:判断后缀名是否在字符串中(这种会存在误判,若是.pyx后缀,一样会打印True,前面两种不会)'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025寻找有志同道合的小伙伴,

2021-03-31 15:32:46 15546 1

转载 两种方法判断python在1个列表中所有的数据都是相等的?

方法一:元素两两比较,如果有数据不同,则r的值变为falsea=[22,22,22,22]b = len(a)r=Truefor i in range(b): if i ==(b-1): break if a[i] == a[i+1]: continue else: r=Falseprint(r)方法二:数据去重,如果去重后列表中的元素大于1,则说明数据重复'''遇到问题没人解答?小编创建了一个Python学习

2021-03-31 15:16:05 3203

转载 python回调函数之获取jenkins构建结果

需求背景:现在用jenkins构建自动化测试(2个job),公司现将自动化纳入到发布系统要求每次构建成功之后,把测试结果发送给发布系统。这就需要先获取jenkins构建的结果,如果构建结束,才能发送测试结果,否则就要等待jenkins构建结束。理解回调函数:像这样类似:男女朋友约会结束,男方要求女方到家后发1个信息,告诉他安全到家了。就是python回调函数的应用场景。男女朋友约会结束是在主函数mainfunc中,女朋友回家这个动作由callback函数完成。在mainfunc函数中,男朋友会接收

2021-03-31 15:13:21 2346 1

转载 python集合教程: list差集|并集|交集

两个list差集list(set(b).difference(set(a))) # b中有而a中没有的示例:a=[1,2,3]b=[2,3]list(set(a).difference(set(b)))[1]两个list并集list(set(a).union(set(b)))示例:'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''a=[1,2]b=[4]l

2021-03-31 15:07:31 286

转载 Python基础教程:文件读写

Python的文件是一个重要的对象,使用open()函数来打开文件,创建文件对象,进行文件的读写操作。当数据用于交换信息时,通常需要把数据保存为有格式的文本数据,可以保存为有特定的行分隔符和列分隔符的数据,这可以使用pandas模块中的函数来读写;也可以保存为json结构的数据,这可以使用json模块中的函数来实现;对于大型的数据交互,通常使用数据库。Python基础库中open()函数用于打开文件,创建文件对象:open(name, mode, encoding=None)参数注释:name是文

2021-03-30 14:30:00 844

转载 Python 基础教程:动态类型模型

Python的变量不用声明,赋值之后就可以直接使用,类型是在运行过程中自动确定的,这就是动态类型模型。该模型把变量和对象设计成两个不同的实体,对象是存储数据的地方,对象的类型是由初始值自动决定的,而变量仅仅是对象的引用。变量是通用的,同一个变量名可以引用任何类型的对象。一,变量、对象和引用动态类型模型由三部分构成:变量、对象和引用。变量和类型没有任何关系,类型是对象的,变量只是引用对象而已。例如,a=3,a是变量名,Python自动创建一个内存对象,值是3,变量a自动引用对象。1,变量对于一个变量,

2021-03-30 14:24:46 189

转载 Python基础教程:命名元组

Python的元组不能为元组内部的数据进行命名,而 collections.namedtuple 可以来构造一个含有字段名称的元组类,命名元组可以通过逗号+字段名来获取元素值:collections.namedtuple(typename, field_names)返回一个命名元组类 typename,其中参数的意义如下:typename:类名称field_names: 元组中元素的名称一,定义命名元组类命名元组是一个类,有两种方式来定义命名元组:from collections imp

2021-03-30 14:19:51 303

转载 python基础教程:元组和集合

元组和集合是Python中的基本类型一,元组元组(tuple)由小括号、逗号和数据对象构成的集合,各个项通过逗号隔开,元组的特点是:元组项可以是任何数据类型,也可以嵌套元组是一个位置有序的对象的集合,通过偏移来访问元组项,只不过元组是不可变的,不能在原处修改;元组的各个项可以重复,例如,一个元组可以是:(1, 1, 2, 2, 3)1,创建元组创建空的元组,一个空元组就是一个内控的小括号:>>> t=()创建包含一个项的元组,t=(1,)是一个元组,t=(1)是一

2021-03-30 14:16:42 1403

转载 Python基础教程:列表操作

1:列表的去重操作al = [1, 1, 2, 3, 1, 2, 4]#set方法元素去重al_set = set(al)print(list(al_set)) #集合不支持索引操作,可以先将之转换为列表#formkeys方法al2 = {}.fromkeys(al).keys()print(list(al2)) #同集合,也是先将之转换成列表#列表推导式al3 = []for a in al: if a not in al3: al3.

2021-03-29 16:07:39 259

转载 python函数中的不定长参数

python自定义函数中有两中不定长参数第一种是*name第二种是**name加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。加了两个星号** 的参数会以字典的形式导入。第一种形式的不定长参数,在传入额外的参数时可以不用指明参数名,直接传入参数值即可,第二种因为返回的是字典,所以传入时需要指定参数名。下面是两个简单的栗子:*name 形式: def funA(a, b, *args): print(a) print(b) pri

2021-03-29 16:04:22 985

转载 python创建列表和向列表添加元素方法

一.创建列表1.创建一个普通列表>>> tabulation1 = ['大圣','天蓬','卷帘']>>> tabulation1['大圣', '天蓬', '卷帘']>>> tabulation2 = [72,36,18]>>> tabulation2[72, 36, 18]2.创建一个混合列表'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025寻找有志同道合的小伙伴,互帮互助,群

2021-03-29 14:25:57 2595

转载 python两种获取剪贴板内容的方法

第一种 import win32clipboard import time #速度快 容易出错 class niubi(): def lihai(self): while True: #jianting().main() t = jianting().main() print(t) class jianting(): def clipb

2021-03-26 15:17:40 7722 3

转载 Python加载数据的5种不同方式

数据是数据科学家的基础,因此了解许多加载数据进行分析的方法至关重要。在这里,我们将介绍五种Python数据输入技术,并提供代码示例供您参考。作为初学者,您可能只知道一种使用p andas.read_csv函数读取数据的方式(通常以CSV格式)。它是最成熟,功能最强大的功能之一,但其他方法很有帮助,有时肯定会派上用场。我要讨论的方法是:Manual 函数loadtxt 函数genfromtxtf 函数read_csv 函数Pickle我们将用于加载数据的数据集可以在此处找到 。它被称为10

2021-03-26 15:10:05 1397

转载 python中strip(),lstrip(),rstrip()函数的使用讲解

1. strip()它的函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。(意思就是你想去掉字符串里面的哪些字符,那么你就把这些字符当参数传入。此函数只会删除头和尾的字符,中间的不会删除。)如果strip()的参数为空,那么会默认删除字符串头和尾的空白字符(包括\n,\r,\t这些)。#这里注意字符串a的两端都有一个空白字符,字符a和n之间也有一个。 a=" \rzha ng\n\t " print(len(a))

2021-03-26 14:42:11 416

转载 Python常用的12个GUI框架

Graphical User Interface,简称 GUI,又称图形化用户接口,所谓的GUI编程,指的是用户不需要输入代码指令,只通过图形界面的交互就可以操作软件功能。1.Tkinter一个轻量级的跨平台图形用户界面(GUI)开发工具,是Python的自带的官方标准库,安装Python 之后直接导入就可以使用, 我们常见的python IDLE就是使用TKinter实现。它最大的特点就是上手简单, 做个简单的小工具基本够用了,比如登录,计算器,简单的输入输出工具等,缺点是不够美观,功能太单一。2

2021-03-26 14:28:38 2944

转载 python 通过PYMYSQL使用MYSQL数据库方法

什么是MYSQL数据库?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。什么是PYMYSQL?PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQ

2021-03-25 15:52:29 663

转载 使用Python实现音频双通道分离

某些音频是双方对话,有可能需要对音频作通道的分离。示例代码如下:"""音频双通道分离"""import sysimport numpy as npfrom scipy.io import wavfilefrom converter import mp3_to_wav def split_channel(wav_path, left_wav_path, right_wav_path): """ 通道分离 :param wav_path: wav音频的路径 :param left

2021-03-25 15:47:34 2315 1

转载 Python教程:Pandas删除数据的4种情况

开始之前,pandas中DataFrame删除对象可能存在几种情况1、删除具体列2、删除具体行3、删除包含某些数值的行或者列4、删除包含某些字符、文字的行或者列本文就针对这四种情况探讨一下如何操作。数据准备模拟了一份股票交割的记录。In [1]: import pandas as pdIn [2]: data = { ...: '证券名称' : ['格力电器','视觉中国','成都银行','中国联通','格力电器','视觉中国','成都银行','中国联通'], ...

2021-03-25 14:12:12 1428

转载 Python 网络请求模块 urllib 、requests

Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib、requests这两个模块。urlib 介绍urllib.request 提供了一个 urlopen 函数,来实现获取页面。支持不同的协议、基本验证、cookie、代理等特性。urllib 有两个版本 urllib 以及 urllib2。urllib2 能够接受 Request 对象,urllib 则只能接受 url。urllib 提供了 urlencode 函数来对GET请求的参数进行转码,urllib

2021-03-25 14:08:57 262

转载 Python socket通过代理访问web服务实现

一、说明1.1 背景说明关于“代理”,从burpsuite到ss这类正向代理,再从nginx到haproxy这类反向代理,也用了好多年配置了好多年了。在日积月累之下也确认了以下几个问题:正向代理和反向代理的区别----正常访问路径是client----public network----server,如果代理服务器处于client和public network之间就是正向代理,如果代理服务器处于public network和server之间就是反向代理。代理从连接的角度是怎么实现的----A建立一个

2021-03-24 15:53:57 1889

转载 python常用校验方法总结

1.校验一个字符串是否是合法IP地址ipv4举例:利用正则表达式来匹配def checkip(ip): p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if p.match(ip): return True else: return False2.校验一个字符串是否为中文python在执行代码过程是不知道这个字符是什么

2021-03-24 15:49:30 1742

转载 Python中执行系统命令常见的4种方法

1. os.system仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息如果再命令行下执行,结果直接打印出来例如:>>> import os >>> os.system('ls') 输出结果:chk_err_log.py CmdTool.log install_log.txt install_zabbix.sh manage_deploy.sh MegaSAS.log2.os.popen该方法不但执行命令还返回执行后的信息

2021-03-24 15:39:56 443

转载 python字典常见用法总结

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。一、创建字典字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}# 也可如此创建字典dict1 = { 'abc': 456 }dict2 = { 'abc': 123, 98.6: 37 }注意:每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在

2021-03-24 15:35:09 598

转载 python爬虫教程:详解4种类型的爬虫技术

聚焦网络爬虫是“面向特定主题需求”的一种爬虫程序,而通用网络爬虫则是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分,主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。增量抓取意即针对某个站点的数据进行抓取,当网站的新增数据或者该站点的数据发生变化后,自动地抓取它新增的或者变化后的数据。Web页面按存在方式可以分为表层网页(surface Web)和深层网页(deep Web,也称invisible Web pages或hidden Web)。表层网页是指传.

2021-03-24 15:15:36 2267

转载 Python元类是怎么创建一个类的?

如果你看过比较优秀的 Python 开源框架,肯定见到过元类的身影。例如,在一个类中定义了类属性 __metaclass__,这就说明这个类使用了元类来创建。那元类的实现原理究竟是怎样的?使用元类能帮我们在开发中解决什么样的问题?这篇文章,我们就来看一下 Python 元类的来龙去脉。什么是元类?我们都知道,定义一个类,然后调用它的构造方法,就可以初始化出一个实例出来,就像下面这样:class Person(object) def __init__(name): s

2021-03-23 15:19:34 305

转载 Python中用tuple作为key

其实当我得到这个结论的时候,我觉得很简单很正常,但是我第一次看到这个用法时,我觉得很新奇:class Solution(object): def lenLongestFibSubseq(self, A): index = {x: i for i, x in enumerate(A)} longest = collections.defaultdict(lambda: 2) ans = 0 for k, z in enumerate(

2021-03-22 16:02:13 2375

转载 用 Python 制作一个迷宫游戏

相信大家都玩过迷宫的游戏,对于简单的迷宫,我们可以一眼就看出通路,但是对于复杂的迷宫,可能要仔细寻找好久,甚至耗费数天,然后可能还要分别从入口和出口两头寻找才能找的到通路,甚至也可能找不到通路。虽然走迷宫问题对于我们人类来讲比较复杂,但对于计算机来说却是很简单的问题。为什么这样说呢,因为看似复杂实则是有规可循的。我们可以这么做,携带一根很长的绳子,从入口出发一直走,如果有岔路口就走最左边的岔口,直到走到死胡同或者找到出路。如果是死胡同则退回上一个岔路口,我们称之为岔口 A,这时进入左边第二个岔口,进入

2021-03-22 15:59:49 737

转载 Python爬虫数据存哪里|数据存储到文件的几种方式

爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保存数据的方式有如下几种:文件:txt、csv、excel、json等,保存数据量小。关系型数据库:mysql、oracle等,保存数据量大。非关系型数据库:Mongodb、Redis等键值对形式存储数据,保存数据量大。二进制文件:保存爬取的图片、视频、音频等格式数据。首先,爬取豆瓣读书《平凡的世界》的3页短评信息,然后保存到文件中。https://book.douban.com/subject/1200840/c

2021-03-22 15:53:37 9234

转载 一篇文章掌握 Python 中的装饰器

python中的装饰器用于修饰函数,以增强函数的行为:记录函数执行时间,建立和撤销环境,记录日志等。装饰器可以在不修改函数内部代码的前提下实现以上增强行为。如下代码建立一个计时装饰器,随后描述其工作原理。import time def timethis(func): def inner(*args,**kwargs): print('start timer:') start = time.time() result = func(*args,*

2021-03-22 15:48:27 182

转载 常见加密方式及Python实现

由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,所以加密在开发过程中是经常使用到的技术,在一些重要场景中都有所应用,如:登录、支付、oauth等,场景不同需要搭配不一样的签名加密算法来达到业务目标。1. 加密算法的种类加密算法分散列算法、对称加密、非对称加密。(1)散列算法:经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。常见的算法有MD5、SHA、HMAC等。(2)对称加密:就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解

2021-03-22 15:43:06 259

转载 Python脚本执行shell的一个小问题

在python脚本中执行shell命令,可能是平常写脚本过程中比较常见的一种场景,这两天在写程序的时候发现一个问题,这里分享一下。01.常用的commands模块就是写python的时候,如果执行了一个命令,我们想知道它的返回,一般是可以通过commands这个模块来处理的,我比较习惯使用的是commands.getstatusoutput,来看个例子:import commandsimport datetimestart_time = datetime.datetime.now().strft

2021-03-20 14:48:18 486

转载 用Python实现链式调用

我们在使用Django的models查询数据库时,可以看到有这种写法:form app.models import XXXquery = XXX.objects.all()query = query.filter(name=123, age=456).filter(salary=999)在这种写法里面,query对象有一个filter方法,这个方法的返回数据还可以继续调用filter方法,可以这样无限制地调用下去。这种写法是怎么实现的呢?如果我们直接写一个类的方法,看看能不能这样调用:cla

2021-03-20 14:44:46 1067

转载 Python:垃圾回收

有很多不同的方法来实现垃圾回收,例如跟踪,引用计数,转义分析,时间戳和心跳信号等。不同的语言依赖于不同的垃圾回收实现,例如,有些将其与编译器和运行时系统集成在一起。而其他语言则可能需要事后设置,甚至可能需要重新编译。Python中垃圾收集器使用基于引用计数的方法。它在程序执行期间运行,并在对象的引用计数达到0时开始工作。1、引用管理首先,内存管理是基于引用的管理。我们知道Python中,引用与对象是分离的,一个对象可以有多个引用,而每个对象都存有指向自己的引用计数。可以使用标准库 sys 查看某个对象的

2021-03-20 14:38:20 532

转载 异步 Python 比同步 Python 快在哪里?

你是否听人们说过,异步 Python 代码比“普通(或同步)Python 代码更快?果真是那样吗?1. “同步”和“异步”是什么意思?Web 应用程序通常要处理许多请求,这些请求在短时间内来自不同的客户端。为避免处理延迟,必须考虑并行处理多个请求,这通常称为“并发”。在本文中,我将继续使用 Web 应用程序作为例子,但还有其它类型的应用程序也从并发中获益。因此,这个讨论并不仅仅是针对 Web 应用程序的。术语“同步”和“异步”指的是编写并发应用程序的两种方式。所谓的“同步”服务器使用底层操作系统支持

2021-03-20 14:32:30 108

转载 说说 Python 的 lru_cache 装饰器

Python 的 lru_cache 装饰器是一个为自定义函数提供缓存功能的装饰器。其内部会在下次以相同参数调用该自定义函数时直接返回计算好的结果。通过缓存计算结果可以很好地提升性能。1 从示例说起假设我们有一个计算斐波那契数列的求和函数,其内部采用递归方式实现。'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''from xxx.clock_decorator import cl

2021-03-20 14:28:06 770

转载 简洁高效的 Python 流处理库

在分布式系统和实时数据处理中,流处理是十分重要的技术。在数据密集型应用中,数据快速到达,转瞬即逝,需要及时进行处理,流式处理强调数据和事件的处理速度,对性能和可靠性有较高的要求。流处理框架包括:Storm,Spark Streaming 和 Flink 等,而 Kafka 也不甘示弱,推出了分布式流处理平台 Kafka Streams。 Faust 把 Kafka Streams 带到了 Python,并实现了抽象和优化,为数据和事件的流处理提供了一个高效便利的框架。简介Faust,是 robinho

2021-03-19 15:26:08 679

转载 Python小技巧:bytes与str的区别

bytes实例包含的是原始数据,即8位的无符号值(通常按照ASCII编码标准来显示)。a = b'h\x65llo' print(list(a)) print(a) >>> [104, 101, 108, 108, 111] b'hello' str实例包含的是Unicode码点(code point,也叫作代码点),这些码点与人类语言之中的文本字符相对应。a = 'a\u0300 propos' print(list(a)) print(a) >>&g

2021-03-19 15:23:00 383

转载 Python基础教程:__name__变量使用方式

可能很多同学在阅读Python源代码时会发现经常会出现if __name__ == '__main__':这样的代码,那么这样的代码起到什么作用呢?本文将为你深入解析__name__变量的含义和应用场景。当Python解析器读源代码文件时,会做如下两件事情:设置特殊变量,如__name__;执行源代码文件中的所有代码;现在我们将焦点放到__name__变量上来,看看在Python程序中为什么要使用__name__变量。让我们先使用一段代码示例来探索导入和脚本的工作方式。假设这些代码位于

2021-03-19 14:17:08 1717

转载 合并Python列表的魔幻12法

我喜欢12这个数字,因为有太多的事情与12有关。一年有12个月;古代用12个时辰(地支)表示一天的时间。用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的《地球编年史》中描述的第12个天体(尼比鲁);另外,朋友、爱人、恋人、家人的笔画都是12。所以12注定是一个令人难忘的数字,现在我再为12加一种难忘的解释:用12种方法合并Python列表。其实Python语言合并两个或多个列表的方法非常简单,直接使用加号(+)即可。不过在很多场景下,并不太适合使用"+"。列表中的值由于某些原因是分散开

2021-03-19 14:04:12 381

Python制作的推箱子小游戏.zip

用Python制作的推箱子游戏,内附源码,解压后就可以用,没有打包,仅供学习参考! 人生苦短,我用Python!

2020-03-31

Python制作超级玛丽源码

本代码是用Python制作超级玛丽小游戏的代码,仅供学习参考

2019-09-28

空空如也

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

TA关注的人

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