您正在将文件解压缩到s变量中,而对其不做任何操作。您应该停止搜索stackoverflow并至少阅读python教程。说真的。
无论如何,你的代码有几个问题:您需要将解压缩后的数据存储在s中的某个文件中。
不需要复制实际的*.gz文件。因为在您的代码中,您正在解压缩原始gzip文件,而不是副本。
您使用的是file,这是一个保留字,作为变量。这不是
一个错误,只是一个非常糟糕的做法。
这可能会满足您的要求:import gzip
import glob
import os
import os.path
for gzip_path in glob.glob(PATH_TO_FILE + "/*.gz"):
if os.path.isdir(gzip_path) == False:
inF = gzip.open(gzip_path, 'rb')
# uncompress the gzip_path INTO THE 's' variable
s = inF.read()
inF.close()
# get gzip filename (without directories)
gzip_fname = os.path.basename(gzip_path)
# get original filename (remove 3 characters from the end: ".gz")
fname = gzip_fname[:-3]
uncompressed_path = os.path.join(FILE_DIR, fname)
# store uncompressed file data from 's' variable
open(uncompressed_path, 'w').write(s)