【发布时间】:2013-08-24 10:05:14
【问题描述】:
我正在编写一些 Python 代码,它遍历多个文件并处理每个文件的前几百行。我想扩展此代码,以便如果列表中的任何文件被压缩,它会在读取它们时自动解压缩,以便我的代码始终接收解压缩的行。基本上我的代码目前看起来像:
for f in files:
handle = open(f)
process_file_contents(handle)
是否有任何函数可以替换上述代码中的open,这样如果f 是纯文本或gzip 压缩文本(或bzip2 等),该函数将始终返回一个文件句柄到解压后的文件内容? (无需查找,只需顺序访问。)
【问题讨论】:
-
这不是重复的。我知道如何使用
gzip.open。我本质上是在问是否有一个函数可以查看文件并自动选择open、gzip.open,或者任何其他适合正在使用的压缩的打开函数,所以我不必写一堆尝试/catch 语句自己尝试所有可能的打开函数。 -
类似this?
标签: python python-2.7 file-io compression