Me gustaría crear un buffer de cadena para hacer mucho procesamiento, formatear y finalmente escribir el buffer en un archivo de texto usando una sprintffuncionalidad de estilo C en Python. Debido a las declaraciones condicionales, no puedo escribirlas directamente en el archivo.
por ejemplo, seudocódigo:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
Entonces, en el archivo de salida tenemos este tipo de o / p:
A= foo B= bar
C= ded
etc...
Editar, para aclarar mi pregunta:
buf es un gran búfer que contiene todas estas cadenas que se han formateado con sprintf. Siguiendo sus ejemplos, bufsolo contendrá valores actuales, no valores anteriores. por ejemplo, lo primero bufque escribí A= something ,B= somethingmás tarde C= somethingse agregó en el mismo buf, pero en sus respuestas de Python bufcontiene solo el último valor, que no es lo que quiero, quiero buftener todos los printfmensajes que he hecho desde el principio, como en C.
def sprintf(buf, fmt, *args): ...
buf, no al final). Probablemente funcionaría mejor usar una matriz de cadenas, luego unirlas antes de escribir en el archivo.