2016-08-01 7 views
0

뭔가가 먼저 있는지 확인하는 다른 방법이 있습니까?더 좋은 방법이 있나요?

나는 파일 목록을 열거하고, if 문을 사용하여 i == 0인지 확인하기 위해 for i,f in enumerate(read_files)을 사용했다. 나는 이것을 할 수있는 다른 (더 빠르고, 덜 형식화 된) 방법이 있는지 궁금하다.

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

관련 문제