Donc, je voudrais récupérer stdout à partir d'un sous-processus, puis écrire la sortie dans un fichier en utilisant python. Le problème que je rencontre est le stdout du sous-processus perd la mise en forme, il contient des \ n où il y a des retours à la ligne. Je voudrais écrire la sortie dans un fichier avec la mise en forme intacte, ce qui signifie que, au lieu d'une ligne contenant \ n, le fichier contient les nouvelles lignes où il y a des \ n.Reconnaissance des caractères de nouvelle ligne en Python
Voici mon code existant:
import os, subprocess
from cStringIO import StringIO
proc = subprocess.Popen('foo.exe', shell=True, stdout=subprocess.PIPE,)
stdout_value = proc.communicate()[0]
f=open('fooOut.txt', 'w')
f.write(str(repr(stdout_value)))
f.close()
fichier texte actuel: abbbb \ nabbbb \ naaaaab
Ce que je voudrais:
abbbb
bbbb
aaaaab
Recherchez \\ n et remplacez par \ n. – StrixVaria