https://llego.dev/posts/comprehensive-guide-opening-closing-files-python/