Day 965
Ethernet device ’not managed’ in network-manager
Couldn’t use ethernet because the device was ’not managed’ according to nm-applet
.
Neither
sudo nmcli dev set enp0s31f6 managed yes
nor changing managed=false
to managed=true
in /etc/NetworkManager/NetworkManager.conf
helped (after the usual service restarts).
But creating an this empty file did:
sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
Python temporary directories
Memory lapse on my side, I thought tempfile.gettempdir()
returned a random temporary directory I can use. Nope, it returns the absolute address of /tmp
or its equivalent on that platform.
I was thinking about tempfile.gettempdir()
. There are also tempfile.TemporaryDirectory()
, which gets automatically removed after the context ends or the object is deleted.
It’s the kind of things I’m afraid of in shell scripts, where manually deleting a temporary directory could remove more than needed.
As usual, the python docu on topic 1 is a good thing to read.
Python pathlib removing directory tree
There’s no way to remove a directory with all its contents recursively using pathlib. 2
pathlib.rmdir()
removes empty directories, pathlib.unlink()
removes files.
The way to do this is external libs, a la shutil.rmtree()
.
Very very weird design decision, as removing stuff is in no way an uncommon operation.
But a recursive pathlib solution exists, from same StackOverflow answer:
from pathlib import Path
def rmdir(directory):
directory = Path(directory)
for item in directory.iterdir():
if item.is_dir():
rmdir(item)
else:
item.unlink()
directory.rmdir()
rmdir(Path("dir/"))
Python serialization of dataclass, datetime, numpy and stuff
orjson
looks interesting: Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy | PythonRepo