you are viewing a single comment's thread
view the rest of the comments
[–] 8 points 2 years ago (3 children)

Path objects also override the / operator to join paths

This is both cool and gross... gives me C++ vibes (operator overloading abuse).

  • source
  • hideshow 6 child comments
  • [–] 4 points 2 years ago

    Scapy is another library where they redefined / to layer packets, such that you can write:

    IP(dst="172.23.34.45") / UDP() / DNS(…)
    

    Then Scapy has magic so that on serialisation, the UDP layer knows defaults to dport=53 if the upper layer is DNS, and it can access the lower layer to compute its checksum.

    And don't forget that strings have a custom % (as in modulo) operator for formatting:

    "Hello %s" %(username)
    

    Of course in modern Python, f-strings will almost always be more convenient

  • source
  • parent
  • [–] 2 points 2 years ago (1 child)

    They could have chosen a better operator. But the functionality is fantastic. Makes working with paths so much easier. And you can even use slashes on windows paths.

  • source
  • parent
  • hideshow 2 child comments