如何解压缩文件列表并将其推送到 S3?

How to unzip a list of files and push it to S3?

我有如下文件列表:

file1.log.gz
files2.log.gz
...

现在我想解压上面列表中的每个文件并将其推送到 S3。

import gzip
with gzip.open('/home/joe/file.txt.gz', 'rb') as f:
    file_content = f.read()

我不确定要为我的清单提供什么 path = /home/joe/file.txt.gz。 您能否提供一些见解?

也许你可以试试:

import gzip

g = gzip.GzipFile(mode="rb", fileobj=open('/home/joe/file.txt.gz', 'rb'))
with open(thePath,"wb") as f:
    f.write(g.read())

More could refer to here

您需要提供包含所有文件的文件夹的路径。那么

import os
import gzip

my_folder = "path to folder here"
for fname in os.listdir(my_folder):
   file_content = gzip.open(os.path.join(your_folder, fname), 'rb')
   #rest of your code goes here

这将在 your_folder 中所有文件类型正确的情况下工作。如果不是,则需要根据文件后缀或其他添加条件。