我想創建一個字符串緩衝區來執行大量處理,格式並最終在Python中使用C風格sprintf
功能將文本緩衝區寫入文本文件中。由於條件語句,我不能直接將它們寫入文件。sprintf喜歡Python中的功能
如僞代碼:
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
小號從一開始我都做了,如在C
中那樣。
這是一個很好的問題,我認爲沒有回答這些問題接近解決這一點。我不想做類似「%s%s%s」%(a,b,c)的東西,我想提供一個函數參數列表並在輸出中看到一個字符串。 – dividebyzero 2013-01-10 16:23:00
這不是sprintf()在C中的工作方式(它在'buf'的開頭寫入內容,而不是在末尾)。最好使用字符串數組,然後在寫入之前將它們結合在一起到文件。 – yam655 2013-05-05 02:33:53