我使用下面的代码来记录一个 map ,当它只包含零时它很快,但是一旦 map 中有实际数据,它就会变得慢得难以忍受......有什么办法可以更快地做到这一点?
log_file = open('testfile', 'w')
for i, x in ((i, start + i * interval) for i in range(length)):
log_file.write('%-5d %8.3f %13g %13g %13g %13g %13g %13g\n' % (i, x,
map[0][i], map[1][i], map[2][i], map[3][i], map[4][i], map[5][i]))
最佳答案
我建议您使用 cProfile
模块运行您的代码,并按照 http://docs.python.org/library/profile.html 中的说明对结果进行后处理。 .这将让您确切知道在调用 str.__mod__
以进行字符串格式化以及在其他事情上花费了多少时间,例如编写文件和执行 __getitem__
查找 map[0][i]
等。
关于Python字符串格式化太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637530/