目录 需求 示例代码 笨办法 Pythonic方法 需求 要写一个接口,同时支持压缩和未压缩文件读入 示例代码 笨办法 importos importgzip filename=sys.argv[1] ifnot
目录
- 需求
- 示例代码
- 笨办法
- Pythonic方法
需求
要写一个接口,同时支持压缩和未压缩文件读入
示例代码
笨办法
import osimport 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
作者:Bioinfarmer
若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。