Permissions have two parts: an action and a set of users. The three actions—read, write, and execute—define what can be done ...
os.path.join (folder, filename) ensures the path is correct for the system. On Windows, it uses backslashes (reports\summary.txt); on Linux and macOS it uses forward slashes (reports/summary.txt).