如何最好地管理 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)

处理此问题的一种方法是根据文件类型将 opengzip.open 分配给一个变量,然后将其用作 [=13= 中的 'alias' ] 陈述。例如:

if file.suffix == ".gz":
  myOpen = gzip.open
else:
  myOpen = open

with myOpen(file_, 'rb') as f:
  parse_open_file(f)