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).
Putting a list into random order might seem like an unusual task, but it can be quite useful for many businesses. For example, you might want to randomly assign leads to salespeople, assign jobs to ...