Je voudrais créer un tampon de chaîne pour faire beaucoup de traitement, formater et enfin écrire le tampon dans un fichier texte en utilisant une sprintffonctionnalité de style C en Python. En raison des instructions conditionnelles, je ne peux pas les écrire directement dans le fichier.
par exemple pseudo code:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
Donc, dans le fichier de sortie, nous avons ce type d'o / p:
A= foo B= bar
C= ded
etc...
Edit, pour clarifier ma question:
buf est un gros tampon contient toutes ces chaînes qui ont été formatées à l'aide de sprintf. En suivant vos exemples, bufne contiendra que les valeurs actuelles, pas les plus anciennes. par exemple, le premier dans bufj'ai écrit A= something ,B= somethingplus tard a C= somethingété ajouté dans le même buf, mais dans vos réponses Python bufne contient que la dernière valeur, ce que je ne veux pas - je veux bufavoir tout ce que printfj'ai fait depuis le début, comme dans C.
def sprintf(buf, fmt, *args): ...
buf, pas à la fin.) Il serait probablement préférable d'utiliser un tableau de chaînes, puis de les joindre avant d'écrire dans le fichier.