我尝试实现基本的跟踪建模器,并且第一件事是加载跟踪(.xz文件),这些跟踪在http://hpca23.cse.tamu.edu/champsim-traces/speccpu/可用
import csv
with open('400.perlbench-41B.champsimtrace.xz', encoding="utf-8") as csvfile:
csvreader = csv.reader(csvfile, delimiter=",")
for row in csvreader:
print(": ".join(row))
我希望加载这些文件,但是显示为UnicodeDecodeError:'utf-8'编解码器无法解码位置0:无效的起始字节的字节0xfd。我需要对这些跟踪进行一些预处理吗?
答案 0 :(得分:0)
.xz文件是LZMA的无损数据压缩文件,因此您需要像下面的代码一样先解压缩文件。
import lzma
with lzma.open('400.perlbench-41B.champsimtrace.xz') as lzmaFile:
.
.
.
.
.
之后,您可以自由处理它。尝试print(lzmaFile.read())
。