gpt4 book ai didi

python - Python中的类似sprintf的功能

转载 作者:IT老高 更新时间:2023-10-28 21:06:13 25 4
gpt4 key购买 nike

我想创建一个字符串缓冲区来进行大量处理、格式化,最后使用 Python 中的 C 风格 sprintf 功能将缓冲区写入文本文件。由于条件语句,我不能直接将它们写入文件。

例如伪代码:

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 中一样。

最佳答案

Python 对此有一个 % 运算符。

>>> a = 5
>>> b = "hello"
>>> buf = "A = %d\n , B = %s\n" % (a, b)
>>> print buf
A = 5
, B = hello

>>> c = 10
>>> buf = "C = %d\n" % c
>>> print buf
C = 10

查看 reference对于所有支持的格式说明符。

您也可以使用 format :

>>> print "This is the {}th tome of {}".format(5, "knowledge")
This is the 5th tome of knowledge

关于python - Python中的类似sprintf的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5309978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com