python学习4 常用内置模块
2024-08-31 00:47:43
logging
os
- 路径处理
// 获取当前路径
os.path.abspath(__file__)
//获取当前文件夹路径
os.path.dirname(os.path.abspath(__file__))
os.path.abspath('.')
//路径拼接处理
os.path.join(path1, path2)
- 创建链接
//创建硬/文件链接
os.link('oops.txt', 'yikes.txt')
//创建符号链接
os.symlink('oops.txt', 'jeepers.txt')
//检查文件还是符号链接
os.path.islink('jeepers.txt') //False
//获取符号链接路径
os.path.realpath('jeepers.txt')
- 获取进程信息
import os
os.getegid()
os.getcwd()
shutil
- 复制内容
import shutil
shutil.copy('oops.txt', 'ohno.txt')
glob
- 列出匹配文件
import glob
print(glob.glob('*'))
sys
- 获取执行参数
sys.argv
subprocess
- 执行命令
subprocess.Popen(command)
time
- 使用
sleep
try:
while True:
print('start')
time.sleep(2)
print('end')
except KeyboardInterrupt:
print('stop')
- 事件处理
//获取当前秒
time.time()
datetime
- 通过时间戳获取日期
from datetime import datetime
dt = datetime.fromtimestamp(t)
dt.year ;dt.month ;dt.day
inspect 检查运行模块的一些基本信息
- 判断generator函数
from inspect import isgeneratorfunction
isgeneratorfunction(fab)
- 获取参数
inspect.signature(fn)
types
- 判断generator函数和generator实例
import types
isinstance(fab, types.GeneratorType)
isinstance(fab(5), types.GeneratorType)
pickle
- 把对象序列化成bytes
//把对象序列化成bytes
byte_data = pickle.dumps({"name": "jinks"})
//反操作
pick.loads(byte_data)
json
- 例子
- Python对象和JSON的转化
json_str = json.dumps(data)
data = json.loads(json_str)
functools 高阶函数相关的模块
- 消除装饰器带来__name__改变的副作用
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper
@decorator
def add(x, y):
return x + y
urllib, urllib2 处理url相关操作的库
- 分析http查询字符串
urllib.parse.parse_qs 返回字典
urllib.parse.parse_qsl 返回列表
collections 内建的集合模块
- deque实现插入删除操作的双向列表
from collections import deque
q = deque(['a', 'b', 'c'])
q.append('x')
q.appendleft('y')
heapq 实现堆排序
- 查找最值
import heapq
nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2]
print(heapq.nlargest(3, nums)) # Prints [42, 37, 23]
print(heapq.nsmallest(3, nums)) # Prints [-4, 1, 2]
//
portfolio = [
{'name': 'IBM', 'shares': 100, 'price': 91.1},
{'name': 'AAPL', 'shares': 50, 'price': 543.22},
{'name': 'FB', 'shares': 200, 'price': 21.09},
{'name': 'HPQ', 'shares': 35, 'price': 31.75},
{'name': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}
]
cheap = heapq.nsmallest(3, portfolio, key=lambda s: s['price'])
expensive = heapq.nlargest(3, portfolio, key=lambda s: s['price'])
re
- split 字符串分割
from re import split
line = 'asdf fjdk; afed, fjek,asdf, foo'
rs = split(r'[;,\s]\s*', line)
最新文章
- 速战速决 (2) - PHP: 数据类型 bool, int, float, string, object, array
- Android状态栏微技巧,带你真正意义上的沉浸式
- soapui中文操作手册(一)----创建一个新的项目
- 初识Memcached
- WPF用ShowDialog()弹出窗体时控制该窗体的显示位置,并传值回父窗体
- jquery之 off()方法
- 复习一下,? extends T 和 ? super T
- PHP高级应用视频教程大全学习
- SGU 275	To xor or not to xor (高斯消元)
- xhtml知识及head部分名词解
- 体验Lua
- Hadoop权威指南学习笔记二
- linux组网笔记
- C# 找出泛型集合中的满足一定条件的元素 List.Wher()
- Bootstrap3 表格-条纹状表格
- [题解]P1856 [USACO5.5]矩形周长Picture
- 3分钟搞明白信用评分卡模型&;模型验证
- web api HttpConfiguration
- python MySQL-Slave从服务器状态检测脚本
- MVC3 发布到IIS 7.5