Python脚本,用于解压缩和打印文件的一行



我正在尝试一个简单的例子,从文件中检索数据并只打印输出的一行。我在编码和'r'周围得到分号错误。

import gzip
data = gzip.open('pagecounts-20130601-000000.gz', 'r')
encoded=data.read()
print encoded[2]

它给出了以下错误:

Traceback (most recent call last):
File "filter_articles.scpt", line 4, in <module> encoded=data.read()
File "/usr/lib/python2.7/gzip.py", line 249, in read self._read(readsize)
File "/usr/lib/python2.7/gzip.py", line 308, in _read self._add_read_data( uncompress )
File "/usr/lib/python2.7/gzip.py", line 326, in _add_read_data self.extrabuf = self.extrabuf[offset:] + data MemoryError

我想这是因为文件很大,无法读取内容吗?有什么更好的方法可以打印文件的几行?

我假设:

  1. 您的意思是在脚本中的文件名周围加引号
  2. 你实际上想要的是第三行(正如你的帖子所暗示的),而不是第三个字符(如你的脚本所暗示的那样)

在这种情况下,以下内容应该有效:

import gzip
data = gzip.open('pagecounts-20130601-000000.gz', 'r')
data.readline()
data.readline()
print data.readline()

最新更新