美文网首页
Python如何支持读入gz压缩或未压缩文件?

Python如何支持读入gz压缩或未压缩文件?

作者: 生物信息与育种 | 来源:发表于2021-03-15 16:26 被阅读0次

需求

要写一个接口,同时支持压缩和未压缩文件读入

示例代码

笨办法

import os
import gzip

filename = sys.argv[1]
if not filename.endswith('.gz'):
    with open(filename, 'r') as infile:
        for line in infile:
            # do something
else:
    with gzip.open(filename, 'r') as infile:
        for line in infile:
            # do something

代码一长,肯定很难看。尝试写成函数。

Pythonic方法

def openfile(filename, mode='r'):
    if filename.endswith('.gz'):
        return gzip.open(filename, mode) 
    else:
        return open(filename, mode)

with openfile(filename, 'r') as infile:
    for line in infile:
       # do something

https://stackoverflow.com/questions/41525690/open-file-depending-on-whether-its-gz-or-not

相关文章

  • Python如何支持读入gz压缩或未压缩文件?

    需求 要写一个接口,同时支持压缩和未压缩文件读入 示例代码 笨办法 代码一长,肯定很难看。尝试写成函数。 Pyth...

  • kali linux 解压缩

    1. 压缩文件 tar 压缩文件命令 tar 压缩文件后缀名.tar.gz 或 .tgz 或 .tar 这个仅打包...

  • 文件压缩命令

    1、 .zip格式压缩 压缩文件、目录都可以 2、 .gz格式压缩 gzip 源文件:压缩为.gz格式的压缩文件,...

  • Linux压缩解压命令

    压缩格式gz,gz只能压缩文件,不能压缩文件夹,不保留原文件 压缩 gzip 文件名 解压缩 gunzip ...

  • Linux压缩与解压缩

    常见压缩文件扩展名 gzip -- 对应压缩文件 *.gz bzip2 --对应压缩文件 *.bz2 x...

  • Linux文件解压缩

    一、常见的Linux下压缩文件扩展名: *.z compress程序压缩文件; *.gz ...

  • 使用Matlab批量解压文件

    需求 批量解压大量gz压缩文件 代码

  • 压缩解压命令

    gzip 压缩文件 只能压缩文件 压缩完了 不保存源文件格式:.gz权限:所有者gzip [文件] gu...

  • linux 下解压 压缩命令

    1.压缩命令: 命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名 2.解压缩命令: ...

  • linux命令

    tar 打包文件gz 压缩文件 tar -cvftar -xvf tar -xvf zhaojun.tar.gz ...

网友评论

      本文标题:Python如何支持读入gz压缩或未压缩文件?

      本文链接:https://www.haomeiwen.com/subject/ffsfcltx.html