Python's pathlib module
Python's pathlib module
Python's pathlib module
Python's pathlib module
Python's pathlib module
Path objects also override the / operator to join paths
This is both cool and gross... gives me C++ vibes (operator overloading abuse).
A great joy when working with people on a combination of Windows/MacOS/Linux.
Hell, even great when your laptop is windows and desktop (or even raspberry pi) is Linux
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
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.
Nice, mypath.open() is a more semantic alternative to open(my path)
Don't forget about the helper functions mypath.read_text()
and mypath.write_text(content)
that's already in the cheatsheet
Today I realised, we all prefer semantics matching oriental language semantics.
English: Open my path.
Same sentence in Hindi semantics would be: My path open.