临时解压缩文件的最佳(最“Pythonic”)方法
我需要临时创建一些文件的解压缩版本。我见过有人做 zcat somefile.gz > /tmp/somefile
在 bash 中,所以我在 python 中做了这个简单的函数:
from subprocess import check_call
def unzipto(zipfile, tmpfile):
with open(tmpfile, 'wb') as tf:
check_call(['zcat', zipfile], stdout=tf)
但是使用 zcat 和 check_call 对我来说似乎很黑客,我想知道是否有更多的“pythonic”方法来做到这一点。
感谢您的帮助
I need to temporarily create an unzipped version of some files. I've seen people do zcat somefile.gz > /tmp/somefile
in bash, so I made this simple function in python:
from subprocess import check_call
def unzipto(zipfile, tmpfile):
with open(tmpfile, 'wb') as tf:
check_call(['zcat', zipfile], stdout=tf)
But using zcat and check_call seems hackish to me and I was wondering if there was more "pythonic" way to do this.
Thanks for your help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
gzip.open(zipfile).read()
将以单个字符串的形式提供文件的内容。会将内容放入临时文件中。
gzip.open(zipfile).read()
will give you the contents of the file in a single string.will put the contents in a temporary file.
您是否考虑过使用 zlib 或 gzip 或 tarfile。
Have you considered using zlib or gzip or tarfile.