Skip to main content
 首页 » 编程设计

python之YAML格式文件test.yaml中,部分MAC地址会被判断为数字

2025年05月04日20birdshome

[80:41:26:53:24:11]的MAC地址已经判断为数字62745168251 但是 [84:19:14:15:86:58] 被判断为字符串

请您参考如下方法:

您应该始终在以数字开头并由数字和非数字字符混合组成的字符串文字周围使用引号,以避免与 YAML 解析器混淆:

MAC1: "80:41:26:53:24:11" 

否则,如果您的字符串文字由一系列由冒号分隔的一位或两位数字组成,并且除第一个数字之外的所有数字都在 0 和 59 之间,它将被解释为 sexagesimal数字并将转换为等效的秒数。例如,您的 MAC 地址 80:41:26:53:24:11 将被视为六十进制数并转换为:

(((((80*60)+41)*60+26)*60+53)*60+24)*60+11 

等于 62745168251。

由于您的其他 MAC 地址 84:19:14:15:86:58 在第一个大于 59 的数字之后有一个数字(86 即),它不被视为六十进制数,因此按字面意思被视为字符串。

相关源码可以在int resolver中找到和 int constructor .