perl hex()在python中如何模拟?
我有下一个perl代码:
my $Lon = substr($Hexline,16,8);
say $output_f "Lon: " . hex($Lon) . "";
其中$Hexline
有“6a48f82d8e828ce82b82 ...”格式
我在python上试试
Lon = int(Hexline[16:24], 16)
f.write('lon = %s' % str(Lon)+'\n')
是不是?
编辑:在perl的情况下,hex()给我一个十进制值。
答案 0 :(得分:6)
是的,要将十六进制字符串转换为您使用int(hex_str, 16)
的整数。
请注意,在write
方法调用中:
%d
代替%s
。str
将整数转换为字符串。因此,写调用可以写成:
f.write('lon = %d\n' % Lon)
或者,您也可以这样使用format
:
f.write('lon = {0}\n'.format(Lon))