python2中io.TextIOWrapper的替代方法是什么

时间:2018-07-27 21:06:26

标签: python

我正在尝试从python脚本解压缩 .targ.gz 文件,并解析以 stats.txt 结尾的文件内容。它在python 3版本中很好用。但是,相同的脚本不适用于python2。如何在python 2中也实现相同的功能。 python 2中io.TextIOWrapper函数的最佳替代方法是什么?

我尝试了以下替代方法,并且都可以正常工作。

null

我正在尝试找出python 2中 io.TextIOWrapper 函数的其他最佳替代方法

obj= tar_file.extractfile(file_name)  
obj = codecs.getreader("utf-8")(tar_file.extractfile(file_name))

Erros

#!/usr/bin/python
import io
import tarfile
import codecs


def get_tar_file_and_print_the_line(tarfile_name):
  tar_file = tarfile.open(tarfile_name, 'r:gz')
  for file_name in tar_file.getnames():
      print(file_name)
      if file_name.endswith('stats.txt'):
          #obj= tar_file.extractfile(file_name)  >> Works Well in Python 2
          #obj = codecs.getreader("utf-8")(tar_file.extractfile(file_name)) >> Works well in python 2
          obj = io.TextIOWrapper(tar_file.extractfile(file_name), encoding='utf8', newline='\n')
          for line in obj:
              line = line.rstrip()
              print(line)


get_tar_file_and_print_the_line('sample.tar.gz')

0 个答案:

没有答案