IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python常用的基础库 -> 正文阅读

[Python知识库]python常用的基础库

一、os库

系统文件,环境等常用的库,对文件和环境等进行操作,

os.path.dirname(url) 获取传入url的路径
os.path.basename(url) 获取url的文件名+后缀
os.path.isdir(url) 判断url是否是路径
os.path.isfile(url) 判断url是否是文件
os.path.abspath(__file__) 获取绝对路径
os.path.join(folder1,folder2,folder3) 把目录串成路径
os.path.split(url) 分割url成路径和文件名+后缀
os.path.splitext(url) 分割路径为两部分,前部分为路径和文件名,后部分为后缀
os.path.getatime(url) 最近访问时间
os.path.getmime(url) 最近修改时间
os.path.getctime(url) 创建时间
os.path.getsize(url) 返回文件大小

os.walk?遍历的目录的地址, 返回的是一个三元组(root,dirs,files)
os.getcwd() 返回当前工作目录
os.system('ls') 执行系统命令
os.environ 获取系统环境变量
os.seq 系统路径分隔符
os.mkdir 创建一个路径
os.listdir 返回所哟文件和路面
os.rmdir 删除单级路径,目录不为空无法删除
?

二、time、datetime

time.time() 返回时间戳
time.ctime()?函数把一个时间戳转化为time.asctime()的形式?Tue Feb 17 10:00:18 2022?

time.sleep(1) 休眠时间
time.strftime("%Y-%m-%d %H:%M:%S",t) 格式化时间

三、typing

NewType来辅助函数创造不同的类型
NoReturn,当一个方法没有返回结果时,为了注解它的返回类型,我们可以将其注解为 NoReturn
Sequence,是 collections.abc.Sequence 的泛型
Set集合,是 set 的泛型;AbstractSet、是 collections.abc.Set 的泛型
Dict、字典,是 dict 的泛型;Mapping,映射,是 collections.abc.Mapping 的泛型
Tuple、元组,是 tuple 的泛型
Mapping:collections.abc.Mapping的泛型(generic)版本
List:list的泛型(generic)版本,用于注解(annotate)返回类型
?Iterable:collections.abc.Iterator的泛型版本

四、json

json.loads 解析json成为字符串
json.dumps 加载字符串成为json
json.load 解析json文件
json.dump 将str以json的格式保存成文件

五、enum

from?enum?import?Enum, unique?枚举类中的key也不能相同
from?enum?import?IntEnum?枚举类中的Value只能是整型数字
- 枚举支持迭代器,可以遍历枚举成员

枚举的定义

  1. 首先,定义枚举要导入enum模块。
  2. 枚举定义用class关键字,继承Enum类。

六、sys

sys.argv??命令行参数List,第一个元素是程序本身路径
sys.exit? ?程序退出
sys.modules.keys() 返回所有已经导入的模块列表
sys.stdout 标准输出
sys.stdin? ?标准输入

七、logging

Logging.basicConfig() 需要在开头就设置,在中间设置并无作用
Handler 处理器类型有很多种,比较常用的有三个,StreamHandler,FileHandler,NullHandler

StreamHandler

sh = logging.StreamHandler(stream=None)

sh.setLevel(logging.WARN) #指定日志级别,低于WARN级别的日志将被忽略

sh.setFormatter(formatter_name) # 设置一个格式化器formatter

sh.addFilter(filter_name) # 增加一个过滤器,可以增加多个

八、socket

九、threading

t = threading.Thread(target=one,args=(,))?#建立一个线程并且赋给t1,这个线程指定调用方法one,并且不带参数

t.setDaemon(True)#声明t为守护线程,设置的话,子线程将和主线程一起运行,并且直接结束,不会再执行循环里面的子线程

threading.current_thread()等同于currentThread(),返回当前Thread对象,对应于调用者的控制线程。如果未通过threading模块创建调用者的控制线程,则返回具有有限功能的虚拟线程对象。

threading.Lock()返回新原始锁定对象的工厂函数。一旦线程获得它,后续尝试获取它就会阻塞,直到它被释放; 任何线程都可以释放它。

threading.RLock()返回新的可重入锁定对象的工厂函数。必须由获取它的线程释放可重入锁。一旦线程获得了可重入锁,同一个线程可以再次获取它而不会阻塞; 线程必须在每次获取它时释放一次。

threading.Semaphore([?value] )返回新信号量对象的工厂函数。信号量管理一个计数器,表示release()呼叫数减去acquire()呼叫数 加上初始值。该acquire()方法在必要时阻止,直到它可以返回而不使计数器为负。如果没有给出,则值默认为1。

十、shutil

shutil.copyfileobj(fsrc,fdst,[length])? 将类似文件对象fsrc的内容复制到类似文件对象的fdst中?
shutil.copyfile(src,dst)? 将名为src的文件内容复制到名为dst的文件,然后返回dst
shutil.copy() 将文件src复制到文件或目录dst。src和dst应为字符串。如果dst指定目录,则文件将使用src的基本文件名复制到dst中
shutil.copy2(src,dst)? 与copy()相同,但是copy2()也尝试保留所有文件元数据
shutil.copytree(src,dst) 递归复制以src为根的整个目录树,由dst命名的目标目录不能已经存在
shutil.rmtree(src,dst) 删除目录
shutil.move() 移动文件或目录
?

十一、queue

同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语,能够在多线程中直接使用。可以使用队列来实现线程间的同步

queue.Queue(maxsize=0)先进先出FIFO队列,最早进入队列的数据拥有队列的优先权。

queue.LifoQueue(maxsize=0)后进先出(Last In First Out: LIFO)队列,最后进入队列的数据拥有出队列的优先权,就像栈一样。入参 maxsize 与先进先出队列的定义一样。

queue.PriorityQueue(maxsize=0)

优先级队列,比较队列中每个数据的大小,值最小的数据拥有出队列的优先权。

Queue.put(item)?? ?写入队列,timeout等待时间
Queue.get([block[, timeout]])?? ?获取队列,timeout等待时间
Queue.get_nowait()?? ?相当于Queue.get(False),非阻塞方法
Queue.qsize()?? ?返回队列的大小
Queue.empty()?? ?如果队列为空,返回True,反之False
Queue.full()?? ?如果队列满了,返回True,反之False,Queue.full 与 maxsize 大小对应
Queue.task_done()?? ?在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号。每个get()调用得到一个任务,接下来task_done()调用告诉队列该任务已经处理完毕。
Queue.join()?? ?实际上意味着等到队列为空,再执行别的操作

十二、itertools

count()会创建一个无限的迭代器

cycle()会把传入的一个序列无限重复下去

repeat()负责把一个元素无限重复下去

chain()可以把一组迭代对象串联起来,形成一个更大的迭代器

groupby()把迭代器中相邻的重复元素挑出来放在一起

map()map()的区别在于,imap()可以作用于无穷序列,并且,如果两个序列的长度不一致,以短的那个为准

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章           查看所有文章
加:2022-05-26 15:17:32  更:2022-05-26 15:18:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:38:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码