小编典典

cProfile将数据保存到文件会导致字符混乱

python

我在名为bot4CA.py的模块上使用cProfile,因此在控制台中键入:

python -m cProfile -o thing.txt bot4CA.py

模块运行并退出后,它将创建一个名为Thing.txt的文件,当我打开它时,那里有一些信息,其余的是一堆字符,而不是我想要的整齐的数据文件。有没有人知道如何使用cProfile并最终得到整齐有序的数据表,就像在命令行中正常使用时一样(除了在文件中)?这是.txt文件中某些数据的示例:

{(   s)   build\bdist.win32\egg\colorama\winterm.pyi'   t      reset_all(   i   i   gpàÂs% ?geOÙHÌœE?{(   s-   build\bdist.win32\egg\colorama\ansitowin32.pyi¥

我真正想要的是,当您调用cProfile.run()时会发生什么,结果将导致打印出整齐有序的表,该表显示了所有功能的执行时间(而不是打印出来),而不是打印出来,并保存在文件中,因为此程序相当大且运行很多功能。


阅读 204

收藏
2021-01-20

共1个答案

小编典典

您应该使用该pstats模块来解析此文件并从中提取用户友好格式的信息。例如:

import pstats
p = pstats.Stats('thing.txt')
p.sort_stats('cumulative').print_stats(10)

当然,所有这些都在文档中。查看那里的“即时用户手册”,它解释了所有内容。

2021-01-20