我在阅读时偶然发现了以下警告像 Pythonista 一样编码:惯用的 Python http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html作者:大卫·古杰。
文章摘录...
print('Hello %(name)s, you have %(messages)i messages' % locals())
这是非常强大的。有了这个,你
可以完成所有的字符串格式化
想要而不用担心
将插值值匹配到
模板。
但权力也可能是危险的。 “力量越大,成就越大
责任。”如果您使用locals()
从与
外部提供的模板字符串,
你暴露了你的整个本地命名空间
给来电者。这只是一些东西
要牢记。
我正在尝试理解具体场景其中使用locals()
可能很危险。任何关于如何存在的例子locals()
在代码中可以被利用是值得赞赏的。谢谢!
示例,简单的代码:
script_name = 'readpw.py'
...
entered_pw = raw_input()
if entered_pw != real_pw:
print "%(script_name)s: The password you entered: "+entered_pw+" is incorrect."%locals()
考虑 Entered_pw 的情况%(real_pw)s
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)