2016-08-01 9 views
0

何かが最初にあるかどうかを確認する別の方法はありますか?これを行う良い方法はありますか?

私は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

最高のSEを[コードレビュー](httpです。 stackexchange.com/)。 –

+0

@ OrangeFlash81クール、行います。 – Chris

+2

空の行で出力ファイルを開始しないように 'if'だけ必要ですか? –

答えて

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") 
+0

ああ。ありがとうございました! – Chris

関連する問題