Yaml的Python库见PyYaml
简单说起来:
- Python的json库在默认设置下输出的是Yaml语言的子集
- 两个库的语法基本一致。不同的是yaml的dump输出的直接为字符串,json的dump还需要指定一个stream object。如果要输出为字符串,得使用dumps
关于两者详细的关系和区别,这里有一片英文的文章讨论yaml与json的关系
>>>A = [1,2,3,4] >>>isinstance(A, list)
A=[3,1,2] assert(A.sort() == sorted(A)) assert(A.reverse() == reversed(A))
def progress_bar(current, total, width=20):
i = int (current*width/total)
sys.stdout.write("\r|" + '*'*i + ' '*(width-i)+"|")
A = {1:'a', 2:'b'}
yaml.dump(A, f)A=yaml.load(filehandler)
input(prompt)
raw_input(prompt)
import getpass getpass.getpass(prompt)
import re >>>m = re.match(r"(\d+)\s*(M|K)(bit|Byte)", "1024Mbit") >>>print m.group(1), m.group(2)+m.group(3) 1024 Mbit
m = re.match(r"(?P\d+)\s*(M|K)(bit|Byte)", "1024Mbit") >>>print m.group("num"), m.group(2)+m.group(3) 1024 Mbit
>>>p = re.compile(r"(\d+)\s*(M|K)(bit|Byte)")
>>>g = p.match("1024Mbit")
>>>print g.group(1), g.group(2)+g.group(3)
1024 Mbit
try:
do what you want
except:
print sys.exc_info()[0], sys.exc_info()[1]sys.exc_info()[0]: 异常的类型with open("max_load_vs_k.dat","w") as f:
do some file operation with f>>>sys.path ['', '/Library/Python/2.6/site-packages/ipython-0.10.1-py2.6.egg', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload', '/Library/Python/2.6/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC', '/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode']