Gostaria de criar um buffer de cadeia para processar, formatar e finalmente gravar o buffer em um arquivo de texto usando uma sprintffuncionalidade de estilo C em Python. Por causa de instruções condicionais, não posso gravá-las diretamente no arquivo.
por exemplo, pseudo código:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
Portanto, no arquivo de saída, temos este tipo de o / p:
A= foo B= bar
C= ded
etc...
Edite, para esclarecer minha pergunta:
buf é um grande buffer que contém todas essas strings que foram formatadas usando o sprintf. Seguindo seus exemplos, bufconterá apenas valores atuais, não valores mais antigos. por exemplo, o primeiro em bufque escrevi A= something ,B= somethingmais tarde C= somethingfoi anexado no mesmo buf, mas em suas respostas em Python bufcontém apenas o último valor, o que não é o que eu quero - quero bufter todos os printfs que fiz desde o início, como em C.
def sprintf(buf, fmt, *args): ...
bufe não no final.) Provavelmente seria melhor usar uma matriz de seqüências de caracteres e juntá-las antes de gravar no arquivo.