Создать выходной файл с несколькими строками (Python)

У меня есть файл с конкретными данными, которые я хотел бы извлечь.

файл выглядит так:

DS User ID 1  
random garbage  
random garbage  
DS  N user name 1   
random garbage  
DS User ID 2   
random garbage  
random garbage  
DS  N user name 2

Пока что у меня есть:

import sys  
import re  
f = open(sys.argv[1])

strToSearch = ""

for line in f:
        strToSearch += line

patFinder1 = re.compile('DS\s+\d{4}|DS\s{2}\w\s{2}\w.*|DS\s{2}N', re.MULTILINE)

for i in findPat1:  
    print(i)

Мой вывод на экран выглядит так:

DS user ID 1  
DS  N user name 1  
DS user ID 2  
DS  N user name 2   

Если я пишу в файл, используя:

outfile = "test.dat"   
FILE = open(outfile,"a")  
FILE.writelines(line)  
FILE.close()  

Все помещается в одну строку:

DS user ID 1DS  N user name 1DS user ID 2DS  N user name 2 

Я могу жить с первым сценарием выхода. Хотя в идеале я хотел бы убрать DS и DS N из выходного файла и разделить их запятыми.

User ID 1,user name 1  
User ID 2, username 2

Есть идеи, как это сделать?

5
задан Justin 22 August 2012 в 21:10
поделиться