- 判断传入参数的类型 可以用isinstance
- 脚本中包含汉字要在文件头加上 #coding=utf-8
-
python直接读取中文路径的文件时失败,可做如下处理:
inpath = 'D:/work/yuanxx/在线导航/驾车导航/walk_log/20130619_172355.txt'
uipath = unicode(ipath , "utf8")然后用"uipath"经过编码后的路径去open()即可:
fin = open(uipath)
- 和shell进行交互 o,e=subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() communicate返回标准输出和错误输出。
- 格式化输出时可以定义临时变量,对于输出比较长的格式时容易读懂 例如:print '%(name)s %(address)s'% {'name':'robin', 'address':'beijing'}
- 格式化输出可以通过“-+”来控制左右对齐
- 使用关键字变量参数的时候(字典做为函数参数),调用时,key不能用引号括起来,在函数调用的时候,key会被识别成字符串的形式。
- 生成帮助文档,用pydoc, 格式为pydoc.py -w tScreen,pydoc.py在 python/lib下,需要添加到环境变量中,更多参考信息可以看http://docs.python.org/library/pydoc.html
- 转换16进制的数字为10进制 int('1e0',16),将10进制的数字转换为16进制,hex(16777696)
- 列表的复制:如果用复制的操作来复制列表,两个变量引用的都是同一个对象,例如,a = [1,2,3,4], b=a, r.remove(3),该操作也会影响到b,如果要复制到另一个对象,可以用切片操作 b=a[:]
- 字典按照键值的大小进行排列:sorted(dict.iteritems(), key=lambda d:d[1], reverse=True) 这个操作会返回一个按照规则排列的列表
- 通过函数的名字调用函数,当然常规的方法是通过gatattr得到对象的属性,例如:
value = getattr(obj, "attribute")
我还发现了另外一个方法就是利用eval,eval将字符串str当成有效Python表达式来求值,例如:定义了一个list,li = ['3nd','d','ghr','ae','vr','67']
eval('li.pop')()的执行效果和li.pop是一样的 - 时间的字符串形式表示方法,使用time.strftime可以格式化的输出各种时间。
%a 星期几的简写 输出例子:'Thu'
%A 星期几的全称%A 星期几的全称 输出例子:'Thursday'
%b 月分的简写 输出例子:'Jan'
%B 月份的全称 输出例子:'January'
%c 标准的日期的时间串 输出例子:'01/17/13 07:41:47'
%d 十进制表示的每月的第几天 输出例子:'17'
%H 24小时制的小时 输出例子:'07'
%I 12小时制的小时 输出例子:'07'
%j 十进制表示的每年的第几天 输出例子:'017'
%m 十进制表示的月份 输出例子:'01'
%M 十时制表示的分钟数 输出例子:'45'
%p 本地的AM或PM的等价显示 输出例子:'AM'
%S 十进制的秒数 输出例子:'24'
%w 十进制表示的星期几(值从0到6,星期天为0) 输出例子:'4'
%x 标准的日期串 输出例子:'01/17/13'
%X 标准的时间串 输出例子:'07:49:43'
%y 不带世纪的十进制年份(值从0到99) 输出例子:'13'
%Y 带世纪部分的十制年份 输出例子:'2013'
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。 输出例子:'\xd6\xd0\xb9\xfa\xb1\xea\xd7\xbc\xca\xb1\xbc\xe4' 使用print打印可以得到 “中国标准时间” - 从函数内部获取当前函数名的方法: sys._getframe().f_code.co_name
- 固定宽度的居中打印,靠右打印,靠左打印
不废话了,直接上例子吧
for
eachStr
in
inputStrList:
#print '{:->10}'.format(eachStr);
print
'{0:->10}'
.
format
(eachStr);
# -------abc
# ------abcd
# -----abcde
for
eachStr
in
inputStrList:
print
'{0:-<20}'
.
format
(eachStr);
# abc-----------------
# abcd----------------
# abcde---------------
for
eachStr
in
inputStrList:
print
'{0:*^30}'
.
format
(eachStr);
# *************abc**************
# *************abcd*************
# ************abcde*************