Python 使用 zipfile.ZipFile 读取文件的 n 行

Python read n line of a file with zipfile.ZipFile

我想知道是否可以读取 zip 文件中包含的每个文件的第二行?

zf = zipfile.ZipFile(myzip.zip)
for f in zf.namelist():
   csv_f = zf.read(f)
   first_line = csv_f.split('\n', 2)[0] ...?

感谢您的帮助。

是的。像这样:

with zipfile.ZipFile("myzip.zip") as z:
    for n in z.namelist():
        with z.open(n) as f:
            for i in range(2):
                second_line = next(f)

根据@S3DEV 的推荐,这将只读取前两行而不读取整个文件。人们可能更喜欢不将第一行写入变量 second_line,但由于它在第二次传递时被覆盖,这似乎 不聪明。