我正在尝试制作一个令牌,我有一个正在使用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文件
您应该尝试有史以来最简单的调试技术:打印您要使用的值。
无论如何,如果您这样做了,您会看到sys.argv[0]
不是您在命令运行代码后在命令行上放置的文件名参数 - 那就是sys.argv[1]
所以更改:
file = sys.argv[0]
to:
file = sys.argv[1]
print( “Reading from file”,file )