Я хотів би створити буфер рядків, щоб зробити багато обробки, форматувати і, нарешті, записати буфер у текстовий файл, використовуючи функцію C-стилю 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.
def sprintf(buf, fmt, *args): ...
buf, а не в кінці.) Можливо, найкраще буде використовувати масив рядків, а потім з'єднати їх разом перед тим, як записати у файл.