0

我正在尝试一个从文件中检索数据并仅打印一行输出的简单示例。我在编码和“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

我猜这是因为文件很大并且无法读取内容?打印几行文件的更好方法是什么?

4

1 回答 1

3

我假设:

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

在这种情况下,以下应该起作用:

import gzip
data = gzip.open('pagecounts-20130601-000000.gz', 'r')
data.readline()
data.readline()
print data.readline()
于 2013-09-05T05:45:14.317 回答