首页 > 解决方案 > ValueError:python 2中“str”类型对象的未知格式代码“x”

问题描述

我有这个错误ValueError: Unknown format code 'x' for object of type 'str'。问题是我的python(python 2.7)的版本,但我无法升级它。有人知道如何在 python 2 中执行这行代码。

map('{:02x}'.format, bytes_addr)
请参阅下面的两个函数使用它。

map('{:02x}'.format, bytes_addr)
def get_mac_addr(mac_raw):
    byte_str = map('{:02x}'.format, mac_raw)
    mac_addr = ':'.join(byte_str).upper()
    return mac_addr


def format_multi_line(prefix, string, size=80):
    size -= len(prefix)
    if isinstance(string, bytes):
        string = ''.join(r'\x{:02x}'.format(byte) for byte in string)
        if size % 2:
            size -= 1
    return '\n'.join([prefix + line for line in textwrap.wrap(string, size)])

输出

Traceback (most recent call last):
  File "basic_sniff1.py", line 80, in <module>
    main()
  File "basic_sniff1.py", line 54, in main
    eth = ethernet_head(raw_data)
  File "basic_sniff1.py", line 23, in ethernet_head
    dest_mac = get_mac_addr(dest)
  File "basic_sniff1.py", line 6, in get_mac_addr
    byte_str = map('{:02x}'.format, mac_raw)
ValueError: Unknown format code 'x' for object of type 'str'

标签: python

解决方案


推荐阅读