我想创建一个字符串缓冲区来进行大量处理,格式化,最后使用sprintf
Python中的C样式功能将缓冲区写入文本文件中。由于条件语句,我无法将它们直接写到文件中。
例如伪代码:
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
所以在输出文件中,我们有这种o / p:
A= foo B= bar
C= ded
etc...
编辑,以澄清我的问题:
buf
是一个大缓冲区,其中包含所有使用sprintf格式化的字符串。按照您的示例,buf
将仅包含当前值,而不包含旧值。例如,buf
我最初写的书A= something ,B= something
后来C= something
被附加在同一书中buf
,但是在您的Python答案buf
中仅包含最后一个值,这不是我想要的-我想拥有自开始以来所做的buf
所有printf
操作,例如in C
。
def sprintf(buf, fmt, *args): ...
buf
,而不是在结尾处写入内容。)使用字符串数组,然后将它们连接在一起,然后再写入文件,可能是最好的选择。