我在名为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()时会发生什么,结果将导致打印出整齐有序的表,该表显示了所有功能的执行时间(而不是打印出来),而不是打印出来,并保存在文件中,因为此程序相当大且运行很多功能。
您应该使用该pstats模块来解析此文件并从中提取用户友好格式的信息。例如:
pstats
import pstats p = pstats.Stats('thing.txt') p.sort_stats('cumulative').print_stats(10)
当然,所有这些都在文档中。查看那里的“即时用户手册”,它解释了所有内容。