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)

最新文章

  1. 速战速决 (2) - PHP: 数据类型 bool, int, float, string, object, array
  2. Android状态栏微技巧,带你真正意义上的沉浸式
  3. soapui中文操作手册(一)----创建一个新的项目
  4. 初识Memcached
  5. WPF用ShowDialog()弹出窗体时控制该窗体的显示位置,并传值回父窗体
  6. jquery之 off()方法
  7. 复习一下,? extends T 和 ? super T
  8. PHP高级应用视频教程大全学习
  9. SGU 275 To xor or not to xor (高斯消元)
  10. xhtml知识及head部分名词解
  11. 体验Lua
  12. Hadoop权威指南学习笔记二
  13. linux组网笔记
  14. C# 找出泛型集合中的满足一定条件的元素 List.Wher()
  15. Bootstrap3 表格-条纹状表格
  16. [题解]P1856 [USACO5.5]矩形周长Picture
  17. 3分钟搞明白信用评分卡模型&模型验证
  18. web api HttpConfiguration
  19. python MySQL-Slave从服务器状态检测脚本
  20. MVC3 发布到IIS 7.5

热门文章

  1. 每天写点shell——read的用法
  2. codility flags solution
  3. Linux sort 命令
  4. Unity3D访问Android系统目录
  5. Swift3新特性汇总
  6. CPrimerPlus第11章第10题
  7. Oracle10g 表分区
  8. JS学习进阶中 come on!
  9. append 添加的元素重新绑定事件
  10. 初识c#