
Python
文章平均质量分 56
Python学习笔记
二进制杯莫停
欲速则不达,慢而有为
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python导出项目依赖包
在 Python 中,你可以使用pip 工具来导出项目中的依赖,将它们保存到一个文件中。这个文件通常被称为 “requirements.txt”,它可以用来重建项目的虚拟环境,或者在其他机器上安装相同的依赖。上面的命令中,“.” 表示当前目录,“–encoding=utf8” 表示使用 UTF-8 编码,“–force” 表示强制更新 “requirements.txt” 文件,即使它已经存在。执行完上述命令后,你会在项目根目录中看到一个新的文件 “requirements.txt”。原创 2023-06-21 22:35:01 · 622 阅读 · 0 评论 -
Python模块之pexpect详解
一、pexpect模块介绍Pexpect使Python成为控制其他应用程序的更好工具。可以理解为Linux下的expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的二、Pexpect的安装#python2pip install pexpect#python3pip3 install pexpect三、pexpect的核心组件3.1 spawn类是Pexpect库的主要对象即接原创 2022-02-21 18:37:25 · 5734 阅读 · 0 评论 -
linux查看python的site-packages路径
有时候我们在liunx上想修改查看python的包路径可以试试以下命令from distutils.sysconfig import get_python_libprint(get_python_lib())如图:原创 2022-02-09 20:41:49 · 3035 阅读 · 0 评论 -
Python - 了解bytes、str与unicode的区别
python 的编码问题,应该每一个写python代码的童鞋都被困扰过。别外python2 和 python3 的默认编码又不同,所以弄清楚还是有必要的,不然在网上搜一堆答案一个一个试,还是挺浪费时间的。首先,python 2.x 的 strs = "我不是乱码"s是个字符串,它本身存储的就是字节码(bytes)。那么这个字节码是什么格式的?如果这段代码是在解释器上输入的,那么这个s的格式就是解释器的编码格式,对于windows的cmd而言,就是gbk。如果将段代码是保存后才执行的,比如存储原创 2021-10-13 11:40:56 · 342 阅读 · 0 评论 -
Python3中的bytes和str类型
Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,你不能拼接字符串和字节流,也无法在字节流里搜索字符串(反之亦然),也不能将字符串传入参数为字节流的函数(反之亦然)。下面让我们深入分析一下二者的区别和联系。编码发展的历史在谈bytes和str之前,需要先说说关于编码是如何发展的。。在计算机历史的早期,美国为代表的英语系国家主导了整个计算机行业原创 2021-10-13 11:36:57 · 294 阅读 · 0 评论 -
python中内建函数isinstance的用法
语法:isinstance(object,type)作用:来判断一个对象是否是一个已知的类型。其第一个参数(object)为对象,第二个参数(type)为类型名(int…)或类型名的一个列表((int,list,float)是一个列表。其返回值为布尔型(True or flase)。若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。下面是两个例子:例一:>>> a = 5>>> b = 'b原创 2021-10-13 11:22:48 · 368 阅读 · 0 评论 -
命令行查看 python格式化json
python使用json模块# echo '{"name":"xiaoliu", "age": 18}' | python -mjson.tool{ "age": 18, "name": "xiaoliu"}原创 2021-08-18 19:30:06 · 266 阅读 · 0 评论 -
使用grep xargs实现执行当前路径多个python文件
我们以执行python文件为例,如果我们有多个测试用例需要同时执行,那么可以使用简单的命令行实现多个文件同时执行。例如,我们的目录树为.├── test1.py├── test2.py└── test3.py每个文件仅打印打印一句话test1.pyprint('I am test1~')test2.pyprint('I am test1~')test3.pyprint('I am test1~')我们如何在命令行实现此操作呢?在当前路径执行命令:ls | grep "t原创 2021-07-25 12:42:32 · 359 阅读 · 1 评论 -
python2.7 virtualenv创建虚拟环境 以及 安装pytest
1.安装virtualenv及创建虚拟环境由于工作需要使用python2.7版本,因此在在安装virtualenv时需要注意版本问题1.1 安装virtualenv首先,使用conda search查找对应python2.7兼容版本$ conda search virtualenvLoading channels: done# Name Version Build Channel virtualenv原创 2021-07-23 15:08:28 · 2319 阅读 · 0 评论 -
python datetime模块 格式化字符串:strftime() strptime() timedelta
1、函数介绍strptime()是将传进来的字符串时间(第一个参数)按照指定格式(第二个参数)转换成datetime类型;字符串–>datetimestrftime()将传进来的datetime时间(第一个参数)按照指定格式(第二个参数)转换成字符串类型;datetime–>字符串2、用例(1)把字符串转换成datetime对象from datetime import datetime #引入datetime模块time= datetime.strptime('2018-4-原创 2021-07-10 16:51:35 · 1604 阅读 · 0 评论 -
python2 utf-8编码
Python中默认的编码格式是ASCII格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*-或者 # coding=utf-8 就行了# -*- coding: UTF-8 -*-或# coding=utf-8注意:# coding=utf-8 的`=`号两边`不要空格`。所以如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。注意:Python3.X 源码文件默认使用utf-8编码,所以可以原创 2021-07-10 16:42:47 · 2130 阅读 · 0 评论 -
python re模块 正则表达式
1、正则表达式re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。注意:re模块是python独有的正则表达式所有编程语言都可以使用re模块、正则表达式是对字符串进行操作因为,re模块中的方法大都借助于正则表达式,故先学习正则表达式。(一)常规正则1、字符组在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示正则待匹配字符匹配结果原创 2021-07-07 23:28:03 · 911 阅读 · 0 评论 -
Python2处理yaml格式数据
1.什么是yaml?不是标记语言对用户极其友好数据序列化标准跨语言:所有编程语言都支持跨平台:所有平台都支持 Windows、linux、Mac格式简单:比json小姐姐穿得更少 应用非常广泛2.Python中哪些模块可以处理yaml?pyyaml应用最广泛封装的api不够简单不支持YAML 1.2最新版ruamel.yaml是pyyaml的衍生版封装的api简单支持YAML 1.2最新版3.基础操作安装ruamel.yaml(1)使用官方pypi原创 2021-06-12 10:47:32 · 951 阅读 · 0 评论 -
Python requests.post方法中data与json参数区别
在通过requests.post()进行POST请求时,传入报文的参数有两个,一个是data,一个是json。data与json既可以是str类型,也可以是dict类型。区别:1、不管json是str还是dict,如果不指定headers中的content-type,默认为application/json2、data为dict时,如果不指定content-type,默认为applicati...原创 2020-04-22 18:49:15 · 1237 阅读 · 0 评论 -
Python - json模块
json模块的python官方文档:https://docs.python.org/3.6/library/json.html1、json简介:定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。特点:简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输...原创 2020-04-22 18:25:14 · 1703 阅读 · 0 评论 -
Python - set() 相关方法的使用
Set intersection() 方法描述intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。语法intersection() 方法语法:set.intersection(set1, set2 ... etc)参数set1 – 必需,要查找相同元素的集合set2 – 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开返回值返回一个...原创 2020-03-06 10:35:35 · 153 阅读 · 0 评论 -
Python - ConfigParser基本使用
configparser和ConfigParser在python中用来读取ini类型的配置文件的,提供很多方便的API来使用。configparser: 在python3中的包名ConfigParser:在python2中的包名configparser模块简介该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值...原创 2020-03-01 17:41:14 · 665 阅读 · 0 评论 -
Python collections.Counter()用法
什么是collectionscollections在python官方文档中的解释是High-performance container datatypes,直接的中文翻译解释高性能容量数据类型。它总共包含五种数据类型:其中Counter中文意思是计数器,也就是我们常用于统计的一种数据类型,在使用Counter之后可以让我们的代码更加简单易读。Counter我们先看一个简单的例子:#统...原创 2020-03-01 13:17:10 · 2096 阅读 · 1 评论 -
Python 中argparse模块的使用
Python解析命令行读取参数有两种方式:sys.argv和argparse1 sys.argv如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。import sysprint("输入的参数为:%s" % sys.argv[1])命令行执行效果:>python demo.py 1输入的参数为:1...原创 2020-03-01 12:20:48 · 159 阅读 · 0 评论 -
python self.__class__.__name__ 理解
1.__class__属性实例调用__class__属性时会指向该实例对应的类然后可以再去调用其它类属性,类属性由类调用example:self.__classs__.__name__ //首先用self.__class__将实例变量指向类,然后再去调用__name__类属性2.self.__classs__.__name__获取类名class Parent...原创 2020-02-21 22:27:42 · 1237 阅读 · 0 评论 -
python - os.path 模块
os.path模块可以对文件路径进行操作。官方文档:os.path查看源码os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "VERSION")APIos.path.dirname(path)返回路径 path 的目录名称。这是将 path 传入函数 split() 之后,返回的一对...原创 2020-02-21 21:17:00 · 129 阅读 · 0 评论 -
python - argparse模块的使用:命令行参数
argparse是python用于解析命令行参数和选项的标准模块,类似于linux中的ls指令,后面可以跟着不同的参数选项以实现不同的功能,argparse就可以解析命令行然后执行相应的操作。argparse 使用使用argparse 配置命令行参数时,需要三步:创建 ArgumentParser() 对象调用 add_argument() 方法添加参数使用 parse_args() ...原创 2020-02-20 16:11:50 · 418 阅读 · 0 评论 -
Cento6.5环境下安装Anaconda3
1 安装首先进入官网,找到Anaconda3下载地址。执行命令,进行下载:wget --no-check-certificate https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh下载后,执行命令按照提示进行安装sh Anaconda3-2019.10-Linux-x86_64.sh出现下面界面,...原创 2020-02-04 20:39:35 · 277 阅读 · 0 评论 -
Python-类方法、对象方法、静态方法的区别
类方法、对象方法、静态方法的区别对象方法:可以调用对象属性,也可以调用类属性。类方法:不能调用对象属性,只能调用类属性。@classmethod静态方法:啥属性都不能调用,只是寄生在某个类上而已。@staticmethod...原创 2020-01-28 19:35:35 · 431 阅读 · 0 评论 -
ORM技术、Django中数据类型的对应关系
ORMORM(Object Relational Mapping)对象关系映射,是一种程序技术,用于实现面向对象编程语言里不同类型系统之间的数据之间的转换。可以简单理解为翻译机。ORM是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销。核心的思想:解耦。ORM也可以称之为...原创 2020-01-28 14:23:53 · 611 阅读 · 0 评论 -
Python-协程
一、引子本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态。cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制):一种情况是该任务发生了阻塞;另外一种情况是该任务计算的时间过长或有一个优先级更高的程序替代了它。协程本质上就是一个线程,以前线程任务的切换是由操作...原创 2020-01-19 21:24:12 · 173 阅读 · 0 评论 -
Python之进程:基本概念
一、基本知识顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个...原创 2020-01-19 20:03:44 · 270 阅读 · 0 评论 -
Python-生产者与消费者:两个线程之间的通信
生产者与消费者:两个线程之间的通信Python的queue提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后进先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原理(可以理解为原子操作,即要么不做,要么就做完),能够在多线程中直接使用。可以用队列来实现线程间的同步。代码实现import threadingimp...原创 2020-01-17 18:28:43 · 437 阅读 · 0 评论 -
Python-线程同步(锁)和死锁
线程同步多线程的优势在于可以同时运行多个任务,但是当线程需要共享数据时,可能存在数据不同步的问题。为了避免这个问题,引入了锁的概念。python对线程加锁主要有Lock和Rlock模块Lock模块用例import threadingfrom time import sleeplock = threading.Lock()list1 = [0] * 10def task1...原创 2020-01-17 17:27:28 · 512 阅读 · 0 评论 -
Python-线程安全问题
Python-线程安全问题首先先看下面两个例子。用例1(数据正确):import threadingfrom time import sleepticket = 1000def run(): global ticket for i in range(100): ticket -= 1 sleep(0.01)if __name__...原创 2020-01-15 17:46:53 · 664 阅读 · 1 评论 -
Python-线程入门
Python-线程百度百科线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程的直观理解我们可以看到360软件可以执行杀毒、清理垃圾、启动项加速等功能,并且三者可以同时执行。而负责每一个具体功能的运行交给一个线程去做。线程用例...原创 2020-01-15 16:46:36 · 150 阅读 · 0 评论 -
Python-进程通信(队列实现)
进程通信进程通信可以通过队列实现。先介绍一下Queue的简单使用。from queue import Queue,LifoQueue,PriorityQueueq = Queue(5)q.put('A')q.put('B')q.put('C')q.put('D')q.put('E')if q.full(): print("队列已满!!!!")else: q...原创 2020-01-14 17:32:14 · 201 阅读 · 0 评论 -
Python-进程池的阻塞式(不能体现多进程的优势)
Python-进程池的阻塞式阻塞式的进程池的特点:添加一个任务便执行一个任务,如果一个任务不结束,另一个任务进不来。进程池:pool = Pool(max) # 创建进程池对象pool.apply() # 阻塞式pool.apply_async() # 非阻塞式pool.close()pool.join() # 使主进程让步,主进程不能在进程结束前结束。阻塞式进程用例...原创 2020-01-14 16:44:32 · 1259 阅读 · 0 评论 -
Python创建进程的四种方式
Python创建进程的四种方式进程,首先理解进程的概念,假如我们的电脑内存大小是一定的,要开启多个软件,内存的占用就会越来越大,计算机有自己的处理方式。例如时间片轮转,优先级调度等。如果内存当前被占用大部分的空间,开启的软件过多,其他软件也要得到计算机的内存空间,这时候内存就会轮番调度。这个时间间隔是非常短暂的给人的感觉就是多个软件在一起执行。Python中创建多进程。Python的OS模块封...原创 2020-01-02 16:52:29 · 3022 阅读 · 0 评论 -
Python-容器、可迭代对象、迭代器、生成器之间的关系
Python-迭代器与可迭代对象在了解Python的数据结构时,容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)、列表/集合/字典推导式(list,set,dict comprehension)众多概念参杂在一起,难免让初学者一头雾水,我将用一篇文章试图将这些概念以及它们之间的关系捋清楚。容器(container)容器是一...原创 2019-12-26 20:00:22 · 142 阅读 · 0 评论 -
Python-列表推导式、集合推导式、字典推导式
Python-列表推导式、集合推导式、字典推导式推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种推导式,在Python2和3中都有支持:列表(list)推导式字典(dict)推导式集合(set)推导式1、列表推导式1.1、基本格式[表达式 for 变量 in 列表] 或者 [表达...原创 2019-12-26 14:38:02 · 471 阅读 · 0 评论 -
Python-迭代器、生成器
Python生成器通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Pyt...原创 2019-12-26 19:09:09 · 180 阅读 · 0 评论 -
Python-hashlib模块与加密算法
加密算法md5、sha1、sha256加密是不可逆的,base64可逆。借助hashlib模块,实现对明文的加密。示例:import hashlibmd5 = hashlib.md5()md5.update('how to use md5 in python hashlib?'.encode('utf-8'))print(md5.hexdigest())哎呀,报错了Trace...原创 2019-12-26 13:46:08 · 374 阅读 · 0 评论 -
python之Random模块
Random模块使用random模块首先导入模块import random0到1之间的随机数import randomprint(random.random())在区间中以指定步长进行随机print(random.randrange(1,10,2))在序列中随机抽取一个元素list1 = ['小明','小红','小绿','小蓝','摩拜']ran = rand...原创 2019-12-25 18:18:44 · 186 阅读 · 0 评论 -
Python之单例设计模式
Python单例模式(Singleton)的N种实现单例是一种设计模式,应用该模式的类只会生成一个实例。单例模式保证了在程序的不同位置都可以且仅可以取到同一个对象实例:如果实例不存在,会创建一个实例;如果已存在就会返回这个实例。因为单例是一个类,所以你也可以为其提供相应的操作方法,以便于对这个实例进行管理。以下是实现方法索引:使用__new__ 关键字实现单例 (容易理解)使用函数装饰...原创 2019-12-25 16:06:27 · 221 阅读 · 0 评论