您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

Python标准库使用

时间:2020-05-18 13:51:32  来源:  作者:

零基础编程——Python标准库使用

本文将讲解Python标准库内容,有操作系统接口os、文件路径通配符glob、命令行参数sys、正则表达式re、数学math、日期与时间、数据压缩、性能评估等,我们只需要知道有些什么内容,用到时候再查找资料即可,无需熟记,也记不住。

零基础编程——Python标准库使用

 

一 操作系统接口及文件通配符

1-路径操作

import os

os.getcwd()#获取当前路径

os.chdir('../')#改变当前路径

os.getcwd()#获取当前路径

2-不同操作系统有不同接口函数

有进程参数、文件创建、进程管理、调度等

具体参考:https://docs.python.org/3.6/library/os.html#module-os

3-文件通配符

import glob
glob.glob('*.py')#返回当前路径下所有py文件数组

适配查找文件

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
>>> glob.glob('**/*.txt', recursive=True)
['2.txt', 'sub/3.txt']
>>> glob.glob('./**/', recursive=True)
['./', './sub/']

4-命令行参数

参考:https://docs.python.org/3.6/library/sys.html#module-sys

 

二 字符串匹配正则表达式

1-示例

>>> import re
>>> re.findall(r'bf[a-z]*', 'which foot or hand fell fastest')
#b表示匹配一个单词边界,也就是指单词和空格间的位置。 f开始的单词
['foot', 'fell', 'fastest']
>>> re.sub(r'(b[a-z]+) 1', r'1', 'cat in the the hat')
'cat in the hat'

2-正则表达式语法

re.match(pattern, string, flags=0)

 

零基础编程——Python标准库使用

 

更多参考:https://docs.python.org/3.6/library/re.html#module-re

 

三 数学计算与时间

1-math

涵括:数论计算、指数计算、三角函数、角度计算、双曲线、常量等

直接传入参数调用函数即可,比较简单,请参考:https://docs.python.org/3.6/library/math.html#module-math

import math
math.gamma(0.5)#伽马函数
math.pi#Π值

2-datetime

>>> # dates are easily constructed and formatted
>>> from datetime import date
>>> now = date.today()
>>> now
datetime.date(2003, 12, 2)
>>> now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.")
'12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.'

>>> # dates support calendar arithmetic
>>> birthday = date(1964, 7, 31)
>>> age = now - birthday
>>> age.days
14368

四 数据压缩

常见数据压缩格式: zlib, gzip, bz2, lzma, zipfile and tarfile.

>>> import zlib
>>> s = b'witch which has which witches wrist watch'
>>> len(s)
41
>>> t = zlib.compress(s)
>>> len(t)
37
>>> zlib.decompress(t)
b'witch which has which witches wrist watch'
>>> zlib.crc32(s)
226805979

五 多线程

模块:

  • _thread(3.6之后不兼容了)
  • threading(推荐使用)
零基础编程——Python标准库使用

 

import threading
import time

exitFlag = 0

class myThread (threading.Thread):
    def __init__(self, threadID, name, counter):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
        self.counter = counter
    def run(self):
        print ("开始线程:" + self.name)
        print_time(self.name, self.counter, 5)
        print ("退出线程:" + self.name)

def print_time(threadName, delay, counter):
    while counter:
        if exitFlag:
            threadName.exit()
        time.sleep(delay)
        print ("%s: %s" % (threadName, time.ctime(time.time())))
        counter -= 1

# 创建新线程
thread1 = myThread(1, "Thread-1", 1)
thread2 = myThread(2, "Thread-2", 2)

# 开启新线程
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print ("退出主线程")

Thread 对象的 Lock 和 Rlock 可以实现简单的线程同步,Python 的 Queue 模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列 PriorityQueue。更多参考:https://www.runoob.com/python3/python3-multithreading.html

 

六 弱引用

为了提高性能,采用弱引用方式调用对象,当删除对象的时候,自动释放内存,引用失效。常用于创建对象耗时、缓存对象等。

>>> import weakref, gc
>>> class A:
...     def __init__(self, value):
...         self.value = value
...     def __repr__(self):
...         return str(self.value)
...
>>> a = A(10)                   # create a reference
>>> d = weakref.WeakValueDictionary()
>>> d['primary'] = a            # does not create a reference
>>> d['primary']                # fetch the object if it is still alive
10
>>> del a                       # remove the one reference
>>> gc.collect()                # run garbage collection right away
0
>>> d['primary']                # entry was automatically removed
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    d['primary']                # entry was automatically removed
  File "C:/python36/lib/weakref.py", line 46, in __getitem__
    o = self.data[key]()
KeyError: 'primary'

七 其他

还有logging日志,array、collections数组集合工具、decimal浮点数运算、reprlib输出格式等等

 

 



Tags:Python标准库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
本文将讲解Python标准库内容,有操作系统接口os、文件路径通配符glob、命令行参数sys、正则表达式re、数学math、日期与时间、数据压缩、性能评估等,我们只需要知道有些什么...【详细内容】
2020-05-18  Tags: Python标准库  点击:(42)  评论:(0)  加入收藏
Python标准库基本上是获得Python语言时获得的所有内容。其中包括所有Python数据类型,如string、integer、float和Boolean。这些数据类型的每个实例实际上都是Python标准库中...【详细内容】
2020-02-06  Tags: Python标准库  点击:(44)  评论:(0)  加入收藏
导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库、函数和外部工具。其中既有Python内置函数和标准库,又有第三方库和工具。这些库可用于文件读写、...【详细内容】
2019-07-18  Tags: Python标准库  点击:(315)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  菜鸟学python    Tags:Python4   点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  风度翩翩的Python    Tags:Python   点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  IT资料库    Tags:Python 库   点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  子冉爱python    Tags:Python   点击:(4)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  程序汪小成    Tags:Python入门   点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  编程啊青    Tags:Verilog   点击:(8)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  修道猿    Tags:Python   点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  我头秃了    Tags:python   点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  程序员小新ds    Tags:python初   点击:(5)  评论:(0)  加入收藏
Hi,大家好。我们在接口自动化测试项目中,有时候需要一些加密。今天给大伙介绍Python实现各种 加密 ,接口加解密再也不愁。目录一、项目加解密需求分析六、Python加密库PyCrypto...【详细内容】
2021-12-21  Python可乐    Tags:Python   点击:(8)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条