Ich möchte einen Zeichenfolgenpuffer erstellen, um viel zu verarbeiten, zu formatieren und schließlich den Puffer in eine Textdatei zu schreiben, wobei eine C-ähnliche sprintfFunktionalität in Python verwendet wird. Aufgrund von bedingten Anweisungen kann ich sie nicht direkt in die Datei schreiben.
zB Pseudocode:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
In der Ausgabedatei haben wir also diese Art von O / P:
A= foo B= bar
C= ded
etc...
Bearbeiten, um meine Frage zu klären:
buf Ist ein großer Puffer enthält alle diese Zeichenfolgen, die mit sprintf formatiert wurden. Wenn Sie sich Ihre Beispiele ansehen, bufwerden nur aktuelle Werte enthalten, keine älteren. zB wurde zuerst in, das bufich A= something ,B= somethingspäter schrieb, C= somethingdasselbe angehängt buf, aber in Ihren Python-Antworten bufist nur der letzte Wert enthalten, den ich nicht möchte - ich möchte bufalle printfs haben, die ich von Anfang an getan habe, wie in C.
def sprintf(buf, fmt, *args): ...
bufund nicht am Ende.) Es ist wahrscheinlich am besten, ein Array von Zeichenfolgen zu verwenden und sie dann zusammenzufügen, bevor Sie in die Datei schreiben.