String Formatting in Python %i(在Python%i中设置字符串格式)
本文介绍了在Python%i中设置字符串格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须将代码从Python2.x转换为Python3(主要是字符串格式) 我遇到了这样的事情:Logger.info("random String %d and %i".format(value1, value2))
现在,我知道%d可以替换为{:d},但找不到等同于%i的内容(签名)
使用{:i}会出现以下错误:
ValueError:‘int’类型的对象的格式代码‘i’未知
推荐答案
简而言之:Python3str.Format()规范已放弃对"i"(%i或{:i})的支持。它只使用"d"(%d或{:d})来指定整数。因此,您可以简单地对所有整数使用{:D}。
长长的答案是:对于输出,即对于printf或日志记录,%i和%d实际上是相同的,无论是在Python中还是在C中都是如此,这是有区别的,但只有当您使用它们来解析输入时,就像使用scanf()一样。对于scanf,%d和%i实际上都表示有符号整数,但如果前面有0x,%i会将输入解释为十六进制数;如果前面有0,则%i会将输入解释为八进制,否则会将输入解释为十进制。因此,对于正常使用,最好使用%d,除非您希望将INPUT指定为十六进制或八进制。更多详情,请查看此处的格式规范: https://docs.python.org/2/library/string.html#formatspec
这篇关于在Python%i中设置字符串格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:在Python%i中设置字符串格式
基础教程推荐
猜你喜欢
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01