⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dump.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
# Module 'dump'## Print python code that reconstructs a variable.# This only works in certain cases.## It works fine for:# - ints and floats (except NaNs and other weird things)# - strings# - compounds and lists, provided it works for all their elements# - imported modules, provided their name is the module name## It works for top-level dictionaries but not for dictionaries# contained in other objects (could be made to work with some hassle# though).## It does not work for functions (all sorts), classes, class objects,# windows, files etc.## Finally, objects referenced by more than one name or contained in more# than one other object lose their sharing property (this is bad for# strings used as exception identifiers, for instance).# Dump a whole symbol table#def dumpsymtab(dict):	for key in dict.keys():		dumpvar(key, dict[key])# Dump a single variable#def dumpvar(name, x):	import sys	t = type(x)	if t == type({}):		print name, '= {}'		for key in x.keys():			item = x[key]			if not printable(item):				print '#',			print name, '[', `key`, '] =', `item`	elif t in (type(''), type(0), type(0.0), type([]), type(())):		if not printable(x):			print '#',		print name, '=', `x`	elif t == type(sys):		print 'import', name, '#', x	else:		print '#', name, '=', x# check if a value is printable in a way that can be read back with input()#def printable(x):	t = type(x)	if t in (type(''), type(0), type(0.0)):		return 1	if t in (type([]), type(())):		for item in x:			if not printable(item):				return 0		return 1	if x == {}:		return 1	return 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -