Python не читает gzip-файл с помощью gzip - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь сделать токанизатор, у меня есть файл, который я пытаюсь прочитать с помощью gzip.но выдает следующую ошибку:

Traceback (most recent call last):
  File "extract_sends.py", line 14, in <module>
    main()
  File "extract_sends.py", line 12, in main
    file_content = f.read()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/gzip.py", line 276, in read
    return self._buffer.read(size)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/gzip.py", line 463, in read
    if not self._read_gzip_header():
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/gzip.py", line 411, in _read_gzip_header
    raise OSError('Not a gzipped file (%r)' % magic)
OSError: Not a gzipped file (b'# ')

Это мой код, я только начинаю, но если python не может прочитать файл, я не захожу далеко.

import gzip
import sys
import re

def main():
    file = sys.argv[0]
    with gzip.open(file, 'rt') as f:
        file_content = f.read()

main()

Файл представляет собой файл .txt.gz

1 Ответ

0 голосов
/ 03 марта 2019

Вам следует попробовать самый простой из когда-либо отладочных методов: вывести значение, которое вы пытаетесь использовать.

В любом случае, если вы это сделаете, вы увидите, что sys.argv[0] не является параметром имени файла, который вы вводите в командную строку послекоманда для запуска вашего кода - это sys.argv[1]

Итак, измените:

file = sys.argv[0]

На:

file = sys.argv[1]
print( “Reading from file”,file )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...