gpt4 book ai didi

python - 将两个 python 与共享相同代码的语句结合起来

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:18 30 4
gpt4 key购买 nike

def test(file_name):
if file_name.lower().endswith('.gz'):
with gzip.open(file_name) as f:
f_csv = csv.reader(i.TextIOWrapper(f))
#### Same Code

if file_name.lower().endswith('.csv'):
with open(file_name) as f:
f_csv = csv.reader(i.TextIOWrapper(f))
#### Same Code

问题> 是否有更好的方法来组合上述代码而不复制“相同代码”部分?如果 file_name 是一个 gz 文件,函数 test 使用 gzip.open 否则它使用常规 open 打开。

最佳答案

一种方法是:

def test(file_name):
loader = None
if file_name.lower().endswith('.gz'):
loader = gzip.open
elif file_name.lower().endswith('.csv'):
loader = open

if loader is not None:
with loader(file_name) as f:
f_csv = csv.reader(i.TextIOWrapper(f))
#### Same Code

关于python - 将两个 python 与共享相同代码的语句结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44782866/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com