“安全报告和格式”是什么;python-mprint";什么意思?
它们与python解释器或linux发行版的stdout有关吗“安全报告和格式”是什么;python-mprint";什么意思?,python,linux,shell,stdout,Python,Linux,Shell,Stdout,它们与python解释器或linux发行版的stdout有关吗 如果你对此感兴趣,请给我一个流程的解释 $type cd | python -m pprint _safe_repr: 4.332890303998283 pformat: 9.275150911998935 从pprint.py: if __name__ == "__main__": _perfcheck() …它运行: def _perfcheck(object=None): impo
如果你对此感兴趣,请给我一个流程的解释
$type cd | python -m pprint
_safe_repr: 4.332890303998283
pformat: 9.275150911998935
从
pprint.py
:
if __name__ == "__main__":
_perfcheck()
…它运行:
def _perfcheck(object=None):
import time
if object is None:
object = [("string", (1, 2), [3, 4], {5: 6, 7: 8})] * 100000
p = PrettyPrinter()
t1 = time.perf_counter()
_safe_repr(object, {}, None, 0)
t2 = time.perf_counter()
p.pformat(object)
t3 = time.perf_counter()
print("_safe_repr:", t2 - t1)
print("pformat:", t3 - t2)
因此,当您运行python-mprint
(调用pprint模块作为\uuuu main\uuuu
)时,\u safe\u repr()
(作为外部消费包装和文档化)的性能将与由[((“string”(1,2),[3,4],{5:6,7:8})创建的示例对象的性能进行比较*100000
引用区分这两个功能的含义和目的的文件:
pformat()
将Python对象格式化为漂亮的打印表示形式
saferepr()
生成一个类似“标准”repr()的值,但要防止递归
数据结构
一个好的堆栈溢出问题是狭义的、具体的,并且与您在软件开发过程中实际面临的问题相关。“狭隘”的一部分意味着它应该服从一个规范的答案。“对流程的解释”一点也不具体——编写解释的人可以无限深入地了解细节。(顺便说一句,如果前面没有
键入cd
,您的代码将有完全相同的输出;为什么会这样?)typecd |
之所以在这里,是因为我想将它的输出作为参数传递给pythonprint模块,或者我认为这样做是正确的。但我没想到会有输出,我很好奇为什么会打印出来。