为了节省磁盘空间,我对很多经常使用的文件进行了压缩。那么,在 python 脚本等情况下,使用这些文本文件的 .gz 版本的最佳方法是什么?
更具体地说,有没有办法将压缩文件传输到需要未压缩文件的脚本中?
例如,如果我通常运行
python test.py file.txt
我如何使用 运行相同的命令file.txt.gz
?
我知道我可以做类似的事情
gzip -dk file.txt.gz; python test.py file.txt; rm file.txt
但这似乎有点冗长;有没有更好/更快的方法?
答案1
您想要
for file in *.txt.gz; do python test.py <(zcat "$file"); done
或者
python test.py <(zcat *.txt.gz)
取决于你想传递给 test.py 程序的数据量
根据您的评论:
proc_subs=$( printf ' <(zcat "%s")' *.txt.gz )
echo "python test.py $proc_subs -v"
#eval "python test.py $proc_subs -v"
如果你喜欢它的外观,请取消注释 eval 行