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中设置字符串格式
猜你喜欢
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01
- 计算测试数量的Python单元测试 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01