我在名为bot4CA.py的模块上使用cProfile,因此在控制台中输入:
python -m cProfile -o thing.txt bot4CA.py
Run Code Online (Sandbox Code Playgroud)
模块运行并退出后,它会创建一个名为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¥
Run Code Online (Sandbox Code Playgroud)
我真正想要的是当您调用cProfile.run()时会发生什么,这会导致打印整齐有序的表格,显示所有功能的执行时间,而不是打印,保存在文件中,因为此程序相当大并且运行很多功能.
基本上我有一个嵌套列表,我试图通过第一个索引进行排序我复制了python howto如何做的方式,但它似乎不起作用,我不明白为什么:
来自网站的代码:
>>> student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
>>> sorted(student_tuples, key=lambda student: student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
Run Code Online (Sandbox Code Playgroud)
我的代码:
def print_scores(self):
try:
#opening txt and reading data then breaking data into list separated by "-"
f = open(appdata + "scores.txt", "r")
fo = f.read()
f.close()
userlist = fo.split('\n')
sheet_list = []
for user in userlist:
sheet = user.split('-')
if len(sheet) != 2:
continue …Run Code Online (Sandbox Code Playgroud)