def write_text(self, stream):
if not path.exists(self.filename):
stream.write("ERROR: %s\n" % self.filename)
return
stream.write("File: %s\n" % self.filename)
stream.write("Name: %s\n" % self.name)
stream.write("Total time: %g [sec]\n" % self.total_time)
linecache.clearcache()
lines = linecache.getlines(self.filename)
if self.name != "<module>":
lines = inspect.getblock(lines[self.firstlineno - 1:])
template = '%6s %9s %12s %-s'
header = template % ("Line", "Hits", "Time", "Code")
stream.write(header)
stream.write("\n")
stream.write("=" * len(header))
stream.write("\n")
d = {}
for i, code in zip(itertools.count(self.firstlineno), lines):
timing = self.timings.get(i)
if timing is None:
d[i] = {
"hits": "",
"time": "",
"code": code
}
else:
d[i] = {
"hits": timing.n_hits,
"time": timing.total_time,
"code": code
}
for i in sorted(d.keys()):
r = d[i]
stream.write(template % (i, r["hits"], r["time"], r["code"]))
stream.write("\n")
评论列表
文章目录