python .format 包括浮点格式
python .format including float formatting
我已经知道 .format
很长一段时间了,但是当我尝试在如下字符串中包含浮点格式时:
"ab_{}_cd{}_e_{}_{}_{}_val={0:.5f}_{}".format(string1,str(2),string2,string3,string4,str(0.12345678),string5)
在上面的示例中,string1-5 表示此示例中包含的随机字符串。
返回了以下错误ValueError: cannot switch from automatic field numbering to manual field specification
经过一番搜索,这个问题似乎确实有答案 Using .format() to format a list with field width arguments
上面的link表明我需要格式化字符串中的所有{}
来达到我想要的格式。我浏览了官方文档 https://docs.python.org/2/library/string.html and https://docs.python.org/2/library/stdtypes.html#str.format 并没有太多解释我在寻找什么的方法。
期望的输出:
关于如何将 .format 选项的自动字段规范转换为手动字段规范的说明,仅格式化我提供的 float 变量并保留所有其他 string1-5 变量未格式化。虽然我可以只使用 round()
之类的东西或 numpy 等价物,但这可能会导致问题,我觉得我会用 .format 示例学得更好。
在您的代码中删除四舍五入数字前的零
"ab_{}_cd{}_e_{}_{}_{}_val={:.5f}_{}".format(string1,str(2),string2,string3,string4,str(0.12345678),string5)
注意:它不起作用的原因是,您可以将 {} 中的索引提及为 {0},{1} 或保留所有索引,但您不能只保留少量带索引的 {} 和不带任何索引的少数 {} .
我已经知道 .format
很长一段时间了,但是当我尝试在如下字符串中包含浮点格式时:
"ab_{}_cd{}_e_{}_{}_{}_val={0:.5f}_{}".format(string1,str(2),string2,string3,string4,str(0.12345678),string5)
在上面的示例中,string1-5 表示此示例中包含的随机字符串。
返回了以下错误ValueError: cannot switch from automatic field numbering to manual field specification
经过一番搜索,这个问题似乎确实有答案 Using .format() to format a list with field width arguments
上面的link表明我需要格式化字符串中的所有{}
来达到我想要的格式。我浏览了官方文档 https://docs.python.org/2/library/string.html and https://docs.python.org/2/library/stdtypes.html#str.format 并没有太多解释我在寻找什么的方法。
期望的输出:
关于如何将 .format 选项的自动字段规范转换为手动字段规范的说明,仅格式化我提供的 float 变量并保留所有其他 string1-5 变量未格式化。虽然我可以只使用 round()
之类的东西或 numpy 等价物,但这可能会导致问题,我觉得我会用 .format 示例学得更好。
在您的代码中删除四舍五入数字前的零
"ab_{}_cd{}_e_{}_{}_{}_val={:.5f}_{}".format(string1,str(2),string2,string3,string4,str(0.12345678),string5)
注意:它不起作用的原因是,您可以将 {} 中的索引提及为 {0},{1} 或保留所有索引,但您不能只保留少量带索引的 {} 和不带任何索引的少数 {} .