代码之家  ›  专栏  ›  技术社区  ›  AlexLordThorsen

将“jsons.dump(ipv4address(<string>))”更改为以下“jsons.load”的等幂`

  •  0
  • AlexLordThorsen  · 技术社区  · 6 年前

    请求

    我在想是否可以接受违约 jsons.dump 行为并使其成为python ipadress的幂等(返回输入字符串)。

    当前行为

    >>> import ipaddress
    >>> import jsons
    >>> import ipaddress
    >>> ipaddress.IPv4Address("192.0.0.1")
    IPv4Address('192.0.0.1')
    >>> jsons.dump(ipaddress.IPv4Address("192.0.0.1"))
    {'_ip': 3221225473}
    >>> jsons.load(jsons.dump(ipaddress.IPv4Address("192.0.0.1")))
    {'_ip': 3221225473}
    

    >>> jsons.load(jsons.dump(ipaddress.IPv4Address("192.0.0.1")))
    "192.0.0.1"
    

    想要但可能要求太多

    >>> jsons.load(jsons.dump(ipaddress.IPv4Address("192.0.0.1")))
    IPv4Address('192.0.0.1')
    

    我已经换了 __repr__ jsons.dump(repr(<variable>)) 这意味着使用我的代码的其他开发人员有一个他们需要注意的潜在地雷。

    0 回复  |  直到 6 年前