gpt4 book ai didi

python - 带文件描述符的 gzip

转载 作者:行者123 更新时间:2023-12-01 04:19:08 25 4
gpt4 key购买 nike

我需要能够使用文件描述符打开压缩的 CSV 文件。当我执行以下操作时(这是仍然会触发错误的简化代码):

file_path = r"E39O6KS6J8MIZW.00.0f6db4e5.gz"
fd = os.open(file_path, os.O_RDONLY, os.O_BINARY)
# ...
file_object = gzip.GzipFile(fileobj=io.FileIO(fd, mode='rb'))
reader = csv.reader(io.BufferedReader(file_object))
for row in reader:
print row

我收到 CRC 检查错误:

Traceback (most recent call last):
File "./log_processing_scripts/dev.py", line 40, in <module>
post()
File "./log_processing_scripts/dev.py", line 36, in post
for row in reader:
File "C:\Python27\lib\gzip.py", line 252, in read
self._read(readsize)
File "C:\Python27\lib\gzip.py", line 299, in _read
self._read_eof()
File "C:\Python27\lib\gzip.py", line 338, in _read_eof
hex(self.crc)))
IOError: CRC check failed 0x4b77635f != 0xbe13716L

文件没有(!)损坏,我可以使用 gzip.open(file_path)处理它。

我错过了什么?

最佳答案

O_RDONLY 和 O_BINARY 标志应该进行或运算,如下所示:

fd = os.open(file_path, os.O_RDONLY | os.O_BINARY)

引用:https://docs.python.org/2/library/os.html#open-constants

关于python - 带文件描述符的 gzip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33926537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com