python3标准库中的模块
os模块:os模块提供了很多与操作系统交互的函数,例如创建、移动、删除文件和目录,以及访问环境变量等
sys模块:sys模块提供了与python解释器和系统相关的功能,例如解释器的版本和路径,以及stdin、stdout、stderr相关的信息
time模块:time模块提供了处理时间的函数,例如,获取当前时间,格式化日期和时间计时等.
datetime模块:datetime模块提供了更高级的日期和时间处理函数,例如,处理时区、计算时间差、计算日期差等
random模块:random模块提供了生成随机数的函数,例如生成随机整数,浮点数,序列等
math模块:math模块提供了数学函数,例如三角函数、对数函数、指数函数、常数等
re模块:re模块提供了正则表达式处理函数,可以用于文本搜索、替换、分割等
json模块:json模块提供了json编码和解码函数,可以将python对象转换为JSON格式,并从JSON格式中解析出Python对象
urllib模块:urllib模块提供了访问网页和处理URL的功能,包括下载文件发送POST请求,处理cookies等
1 # 日期和时间 2 # datatime模块为日期和时间处理同时提供了简单和复杂的方法 3 # 支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出 4 import datetime 5 6 # 获取当前的日期和时间 7 current_datetime = datetime.datetime.now() 8 print(current_datetime) # 2024-05-02 10:47:04.867729 9 # 获取当前日期 10 current_date = datetime.date.today() 11 print(current_date) # 2024-05-02 12 # 格式化日期 13 formatted_datetime = current_datetime.strftime("%Y~%m~%d %H:%M:%S") 14 print(formatted_datetime) # 2024~05~02 10:52:31 15 16 # 创建一个表示生日的日期对象 17 birthday = datetime.date(1996, 7, 29) 18 age = current_date - birthday 19 print(age.days) # 10139
1 # 数据压缩 2 # 以下模块直接支持通用的数据打包和压缩格式:zlib, gzip, bz2, zipfile, 以及tarfile 3 import zlib 4 5 s = b'123456789123456789123456789123456789' 6 print(len(s)) # 36 7 t = zlib.compress(s) 8 print(len(t)) # 20 9 print(t) # b'x\x9c3426153\xb7\xb04\xc4\xcd\x00\x00\x89\x16\x07u' 10 print(zlib.decompress(t)) # b'123456789123456789123456789123456789' 11 print(zlib.crc32(s)) # 1042880156
1 # 性能度量 2 # 有些用户对了解解决同一问题的不同方法的性能差异很感兴趣.python提供了一个度量工具,为这些问题提供了直接的答案 3 # 例如:使用元组封装和拆封来交换元素看起来要比使用传统的方法要诱人的多,timeit证明了现代的方法更快些 4 from timeit import Timer 5 6 print(Timer('t = a; a = b; b = t', 'a=1; b=2').timeit()) # 0.008543707997887395 7 print(Timer('a, b = b, a', 'a=1; b=2').timeit()) # 0.006364583001413848
# 相对于timeit的细粒度,:mod:profile和pstats模块提供了针对更大代码块的时间度量工具
# 操作系统接口 # os模块提供了不少与操作系统相关联的函数,例如文件和目录的操作 import os # 获取当前工作目录 current_dir = os.getcwd() print("当前的工作目录为:", current_dir) # 当前的工作目录为: /Users/wangbiaodiao/Desktop/practice # 列出目录下的文件 files = os.listdir(current_dir) print("目录下的文件:", files) # 建议使用 import os 风格而非from os import *,这样可以保证随操作系统不同而有所变化的os.open()不会覆盖内置函数open() # 在使用os这样的大模型时内置的dir()和help()函数非常有用 print(dir(os)) print(help(os)) # 针对日常的文件和目录管理任务,:mod:shutil模块提供了一个易于使用的高级接口: import shutil shutil.copyfile("./file/foo.txt", "./public/foo.txt") # shutil.move("./public/support.py",'./public1') shutil.copyfile("./public1/support.py", "./public/support.py")
# 文件通配符
# glob模块提供了一个函数用于从目录通配符搜索中生成文件列表
import glob
print(glob.glob("day1*"))
print(glob.glob('./file/*.txt'))
# 命令行参数 # 通用工具脚本经常调用命令行参数,这些命令行参数以链表的形式存储于sys模块的argv变量 import sys print(sys.argv) # 错误输出重定向和程序终止 # sys还有stdin、sydout、stdeer属性,即使在stdout被重定向时,后者也可以用于显示警告和错误信息 # print(sys.stderr.write('Warning, log file not found starting a new one \n')) # 大多脚本的定向终止都使用sys.exit()
# 字符串正则匹配 # 模块为高级字符串处理提供了正则表达式工具,对于复杂的匹配和处理,正则表达式提供了简洁优化的解决方案 import re print(re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')) # ['foot', 'fell', 'fastest'] print(re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')) # cat in the hat # 如果只是需要简单的功能,应首先考虑字符串方法 print('tea for too'.replace('too', 'two')) # tea for two print('cat in the the hat'.replace('the', '', 1))
1 # 数学 2 # math模块为浮点运算提供了对底层C函数库的访问 3 import math 4 5 print(math.cos(math.pi / 4)) # 0.7071067811865476 6 print(math.log(1024, 2)) # 10.0
1 # random提供了生成随机数的工具 2 import random 3 4 print(random.choice(['apple', 'pear', 'banana'])) # banana 5 print(random.sample(range(100), 10)) # [11, 78, 67, 10, 35, 81, 61, 28, 57, 95] 6 print(random.random()) # 0.4318636934920489 7 print(random.randrange(6)) # 5
# 访问互联网标签:python,概览,datetime,current,标准,模块,print,import,os From: https://www.cnblogs.com/shuheng/p/18176053
# 有几个模块用于访问互联网以及处理网络通信协议,其中最简单的两个是用于处理从urls接受的数据的urllib.request以及用于发送电子邮件的smtplib
# from urllib.request import urlopen
# for line in urlopen('http://boxnovel.baidu.com'):
# line = line.decode('utf-8')
# print(line)