有更好的方法吗?

Is there a better way of doing this?

是否有另一种方法来检查是否是第一个?

我一直在使用 for i,f in enumerate(read_files) 枚举文件列表,并使用 if 语句检查 i==0 是否存在。我很好奇是否有不同的(更好、更快、更少输入)方法来做到这一点?

read_files = glob.glob("post_stats_*.tsv") 
with open("result.tsv", "w") as outfile: 
    for i,f in enumerate(read_files): 
        with open(f, "r") as infile: 
            metric_name = (f.strip(".tsv").split("_")[2]) 
            if i == 0: 
                outfile.write(metric_name.upper() + "\n" + infile.read()) 
            else: 
                outfile.write("\n" + metric_name.upper() + "\n" + infile.read()) 

既然 if 的唯一用途似乎是避免输出文件开头出现空行,那么将空行 放在 之后怎么样?文件内容?这将导致文件末尾出现一个空行,不太可能造成伤害:

read_files = glob.glob("post_stats_*.tsv") 
with open("result.tsv", "w") as outfile: 
    for f in read_files: 
        with open(f, "r") as infile: 
            metric_name = (f.strip(".tsv").split("_")[2]) 
            outfile.write(metric_name.upper() + "\n" + infile.read() + "\n")