Créer le fichier de Sortie avec plusieurs lignes (Python)

J'ai un fichier avec des données spécifiques, je voudrais tirer.

Le fichier ressemble à ceci:

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

Pour l'instant j'ai:

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)

Ma sortie à l'écran ressemble à ceci:

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

Si je écrire ce fichier à l'aide de:

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

Tout est poussé à une seule ligne:

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

Je peux vivre avec le premier scénario de la sortie. Idéalement si j'aimerais bande de la " DS " et "DS N' à partir du fichier de sortie et l'ont séparés par des virgules.

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

Aucune idée sur la façon d'obtenir ce que c'est possible?

Salut, bienvenue sur StackOverflow. Veuillez prendre quelques minutes pour vous familiariser avec l'éditeur, en particulier le Code du bouton {} que vous pouvez utiliser pour mettre en forme le code.
Ce qui est bien évidemment pas votre véritable programme. Pour un, vous n'êtes jamais à l'aide de la regex. Il également ne pas correspondre les échantillons que vous avez fourni, au moins la plupart d'entre eux. Vous n'avez jamais définir findPat1.
Veuillez décrire clairement ce que vos données d'entrée ressemble à et quels sont les critères que vous utilisez pour correspondre. À partir de vos échantillons, il semble que la recherche de lignes qui commencent par DS devrait être assez - si ce n'est pas le cas, veuillez indiquer les règles. Vous semblez essayer de faire correspondre correspondant ID d'utilisateur/nom d'utilisateur entrées. Nous pouvons sûrement vous montrer une meilleure façon de le faire, si nous savons ce que vous faites.

OriginalL'auteur user639302 | 2011-03-01