python中的perl hex()模拟

时间:2012-02-13 08:16:38

标签: python perl hex

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()给我一个十进制值。

1 个答案:

答案 0 :(得分:6)

是的,要将十六进制字符串转换为您使用int(hex_str, 16)的整数。

请注意,在write方法调用中:

  • 您不需要连接两个字符串来添加新行字符,您可以直接将其添加到格式字符串中。
  • 要打印整数,您应使用%d代替%s
  • 您实际上不需要调用str将整数转换为字符串。

因此,写调用可以写成:

f.write('lon = %d\n' % Lon)

或者,您也可以这样使用format

f.write('lon = {0}\n'.format(Lon))