Python字符串格式化太慢了

wic*_*ich 8 python string formatting

我使用下面的代码来记录一个地图,当它只包含零时速度很快,但只要地图中有实际数据,它就会变得难以忍受地慢......有没有办法更快地做到这一点?

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]))
Run Code Online (Sandbox Code Playgroud)

Mik*_*ham 3

我建议您使用该cProfile模块运行代码并对结果进行后处理,如http://docs.python.org/library/profile.html中所述。str.__mod__这将让您准确地知道调用字符串格式化花费了多少时间,以及执行其他操作(例如编写文件和__getitem__查找map[0][i]等)花费了多少时间。