This thread here advises to use shutilto zip files:
import shutil
shutil.make_archive(output_filename, 'zip', dir_name)
This zips everything in dir_name and maintains the folder structure in it. Is it possible to use this same library to remove all sub-folders and just zip all files in dir_name into the same level? Or must I introduce a separate code chunk to first consolidate the files?  For eg., this is a hypothetical folder structure:
\dir_name
   \dir1
       \cat1
          file1.txt
          file2.txt
       \cat2
          file3.txt
   \dir2
       \cat3
          file4.txt
Output zip should just contain:
file1.txt
file2.txt
file3.txt
file4.txt