加载跟踪文件时如何解决“ UnicodeDecodeError:'utf-8'”

问题描述 投票:0回答:1

我试图实现一个基本的跟踪建模器,并且第一件事是加载跟踪(.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:无效的起始字节。我需要对这些跟踪进行一些预处理吗?

python python-3.x utf-8 trace prefetch
1个回答
0
投票

。xz文件是LZMA的无损数据压缩文件,因此您需要像下面的代码一样先解压缩文件。

import lzma

with lzma.open('400.perlbench-41B.champsimtrace.xz') as lzmaFile:
  .
  .
  .
  .
  .

此后,您可以自由处理它。

© www.soinside.com 2019 - 2024. All rights reserved.