python格式化输出dict等集合对象

调试程序的时候,如果需要打印出变量的信息,在python中很容易,一句print即可,他几乎可以打印任何类型的对象,不像PHP中,有一堆echo(),print(),print_r(),var_dump(),让人头疼! 但是PHP的打印函数有个好处,就是打印格式良好,而Python的打印信息就不是很友好了,如 # 模拟一个很大的键值对 dic = {} for i in xrange(201): dic[i] = "value for %d" % i print dic 其结果我就不打印了,总之很难看! 如何让python那冗长而且没有格式的打印变得更直观,方法有两种。 自定义dump 此方法来自stackoverflow # 以后需要有格式的打印一个集合对象,直接使用dump(xxx)即可! # 不要忘了import sys import sys def dump(obj, nested_level=0, output=sys.stdout): spacing = ' ' if type(obj) == dict: print >> output, '%s{' % ((nested_level) * spacing) for k, v in obj.items(): if hasattr(v, '__iter__'): print >> output, '%s%s:' % ((nested_level + 1) * spacing, k) dump(v, nested_level + 1, output) else: print >> output, '%s%s: %s' % ((nested_level + 1) * spacing, k, v) print >> output, '%s}' % (nested_level * spacing) elif type(obj) == list: print >> output, '%s[' % ((nested_level) * spacing) for v in obj: if hasattr(v, '__iter__'): dump(v, nested_level + 1, output) else: print >> output, '%s%s' % ((nested_level + 1) * spacing, v) print >> output, '%s]' % ((nested_level) * spacing) else: print >> output, '%s%s' % (nested_level * spacing, obj) pprint 此方法来自官方,可以自定义缩进,宽度等信息。...

January 22, 2015 · 1 min · Me

PHP清除html格式

做采集的都知道,一般采集过来的内容难免会带有html标签,如果有太多的标签会影响之后的数据分析或提取,所以需要过滤掉!PHP已经为我们提供了很多清除html格式的方法了,下面就让老高介绍一下。 strip_tags strip_tags($str) 去掉 HTML 及 PHP 的标记 语法: string strip_tags(string str); 传回值: 字串 函式种类: 资料处理 内容说明 : 解析:本函式可去掉字串中包含的任何 HTML 及 PHP 的标记字串。若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。这个函数和 fgetss() 有着相同的功能 例子 echo strip_tags("Hello <b>world!</b>"); # Hello world! htmlspecialchars 这个函数把html中的标签转换为html实体,博客的代码展示就必须使用这个函数,要不贴出来的代码就会被执行了。 预定义的字符是: & (和号) 成为 & ” (双引号) 成为 ” ‘ (单引号) 成为 ‘ < (小于) 成为 < > (大于) 成为 > 例子 $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $new; # &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; # 如果需要展现<br>,那么浏览器解析HTML的时候会自动将他变为换行 # 但是通过htmlspecialchars就可以让< 变为 &#039; 与htmlspecialchars功能相反的函数是htmlspecialchars_decode,他会把HTML实体转化为字符!...

May 18, 2014 · 2 min · Me