如何使用Python读取.gz压缩或非压缩文件?

2026-06-10 21:261阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计319个文字,预计阅读时间需要2分钟。

如何使用Python读取.gz压缩或非压缩文件?

目录要求示例代码注解方法Pythonic 方法需求编写一个接口,支持读取压缩文件和未压缩文件

示例代码pythonimport osimport gzip

filename=sys.argv[1]

if not os.path.exists(filename): print(文件不存在)else: if filename.endswith('.gz'): with gzip.open(filename, 'rb') as file: data=file.read() print(data.decode('utf-8')) else: with open(filename, 'r') as file: print(file.read())

目录

  • ​​需求​​
  • ​​示例代码​​
  • ​​笨办法​​
  • ​​Pythonic方法​​

需求


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


示例代码

笨办法

importos
importgzip

filename=sys.argv[1]
ifnotfilename.endswith('.gz'):
withopen(filename,'r')asinfile:
forlineininfile:
#dosomething
else:
withgzip.open(filename,'r')asinfile:
forlineininfile:
#dosomething

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

Pythonic方法

defopenfile(filename,mode='r'):
iffilename.endswith('.gz'):
returngzip.open(filename,mode)
else:
returnopen(filename,mode)

withopenfile(filename,'r')asinfile:
forlineininfile:
#dosomething


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



作者:Bioinfarmer

若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。

如何使用Python读取.gz压缩或非压缩文件?

本文共计319个文字,预计阅读时间需要2分钟。

如何使用Python读取.gz压缩或非压缩文件?

目录要求示例代码注解方法Pythonic 方法需求编写一个接口,支持读取压缩文件和未压缩文件

示例代码pythonimport osimport gzip

filename=sys.argv[1]

if not os.path.exists(filename): print(文件不存在)else: if filename.endswith('.gz'): with gzip.open(filename, 'rb') as file: data=file.read() print(data.decode('utf-8')) else: with open(filename, 'r') as file: print(file.read())

目录

  • ​​需求​​
  • ​​示例代码​​
  • ​​笨办法​​
  • ​​Pythonic方法​​

需求


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


示例代码

笨办法

importos
importgzip

filename=sys.argv[1]
ifnotfilename.endswith('.gz'):
withopen(filename,'r')asinfile:
forlineininfile:
#dosomething
else:
withgzip.open(filename,'r')asinfile:
forlineininfile:
#dosomething

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

Pythonic方法

defopenfile(filename,mode='r'):
iffilename.endswith('.gz'):
returngzip.open(filename,mode)
else:
returnopen(filename,mode)

withopenfile(filename,'r')asinfile:
forlineininfile:
#dosomething


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



作者:Bioinfarmer

若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。

如何使用Python读取.gz压缩或非压缩文件?