还有另一种方法可以检查某些事物是否先出现?
我一直在使用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())
答案 0 :(得分:3)
因为似乎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")