如何最好地管理 gz 文件?
How to best manage file either gz or not?
您好,我想知道在代码可读性和重复性方面是否有更好的方法。
我的文件很大,内存放不下。文件是否压缩为 .gz。
如果它是压缩的,我需要使用标准库中的 gzip 打开它。
我不确定我最终得到的代码是处理这种情况的最佳方式。
import gzip
from Path import pathlib
def parse_open_file(openfile):
"""parse the content of the file"""
return
def parse_file(file_: Path):
if file.suffix == ".gz":
with gzip.open(file_, 'rb') as f:
parse_open_file(f)
else:
with open(file_, 'rb') as f:
parse_open_file(f)
处理此问题的一种方法是根据文件类型将 open
或 gzip.open
分配给一个变量,然后将其用作 [=13= 中的 'alias' ] 陈述。例如:
if file.suffix == ".gz":
myOpen = gzip.open
else:
myOpen = open
with myOpen(file_, 'rb') as f:
parse_open_file(f)
您好,我想知道在代码可读性和重复性方面是否有更好的方法。
我的文件很大,内存放不下。文件是否压缩为 .gz。
如果它是压缩的,我需要使用标准库中的 gzip 打开它。
我不确定我最终得到的代码是处理这种情况的最佳方式。
import gzip
from Path import pathlib
def parse_open_file(openfile):
"""parse the content of the file"""
return
def parse_file(file_: Path):
if file.suffix == ".gz":
with gzip.open(file_, 'rb') as f:
parse_open_file(f)
else:
with open(file_, 'rb') as f:
parse_open_file(f)
处理此问题的一种方法是根据文件类型将 open
或 gzip.open
分配给一个变量,然后将其用作 [=13= 中的 'alias' ] 陈述。例如:
if file.suffix == ".gz":
myOpen = gzip.open
else:
myOpen = open
with myOpen(file_, 'rb') as f:
parse_open_file(f)