Я создаю функцию, которая должна открывать файлы двух типов (обычные текстовые файлы и файлы .gz)
Я хочу использовать условное выражение, поэтому я могу использовать только один "with open
"вместо дублированного кода.
Это то, чего я действительно хочу достичь (но, очевидно, он не компилируется)
if ".gz" in f: # gzipped version of the file, we need gzip.open
with gzip.open(f, "rt") as file:
else:
with open(f,"rt") as file: # normal open
for line in file: # processing of the lines of the file
...
Я хочу иметь возможность просто использовать один с открытымвместо того, чтобы создавать два оператора "with open
" с двумя "for line in file
"
Причина: я хочу использовать как можно меньше кода.
Как это можно сделать вПитонический путь?