我编写了一个简单的测试代码,生成大量整数,并使用模块将它们写入压缩文件。
import gzip
for idx in range(100000):
with gzip.open('output.gz', 'ab') as f:
line = (str(idx) + '\n').encode()
f.write(line)
压缩文件是创建的,但是当我解压缩它时,原始数据实际上要小得多:
$ ls -l
588890 output
3288710 output.gz
你能解释一下我做错了什么吗?
我只是专门学习bash中的shell脚本,我希望能够使用gzip从目标目录获取文件并将它们发送到另一个目录。我在命令行中输入目录。ext是我想要压缩的扩展名,文件将是新的压缩文件。我的脚本正确地压缩文件--,从所需的目录,--但是我没有得到这样的文件或目录错误。我怎么才能避免这种情况?
当前代码
cd $1
for ext in $*; do
for file in `ls *.$ext`; do
gzip -c $file > $2/$file.gz
done
done
我的I/O
blackton@ltsp-amd64-charlie:~/Desk
好的,所以我有一个zip文件,其中包含gz文件(unix )。
我就是这么做的--
def parseSTS(file):
import zipfile, re, io, gzip
with zipfile.ZipFile(file, 'r') as zfile:
for name in zfile.namelist():
if re.search(r'\.gz$', name) != None:
zfiledata = zfile.open(name)