1.inspect.statck
Return a list of frame records for the caller’s stack. The first entry in thereturned list represents the caller; the last entry represents the outermostcall on the stack.
最后一个表示当前的最外层调用,包含当前调用的(对象,所在文件路径,具体行数,函数名)
cinder通过获取最外层调用信息,得到其binary ,即cinder-volume
2.str.rpartition(sep)
字符窜最后出现sep处进行分割,返回三元组(before_sep,sep,after_sep)
>>> s = "hihi/yoyo/zeze"
>>> s.rpartition('/')
('hihi/yoyo', '/', 'zeze')
3.%
参考http://developer.51cto.com/art/201003/189039.htm
%s 转成string
整型数:%d 无符号整型数:%u 八进制:%o 十六进制 %x %X 浮点数:%f 科学计数法:%e %E
针对dict类型,可用%(key)type %dict
>>> 'arg is %(arg)s ' %{'arg':20,'name':'whl'}
'arg is 20 '
4.string
string.strip(arg)
string 头尾无掉arg,当arg为None 或者没有给出,则去掉头尾的空格
string.startswith('#') check string start with '#' or not return Bool
string.splitlines() split string by line
5.hashlib