docs: def all_files(file_or_directory):
      'return all files under file_or_directory.'
      if os.path.isdir(file_or_directory):
          return [os.path.join(dirname, filename)
                  for dirname, dirnames, filenames in os.walk(file_or_directory)
                  for filename in filenames]
      else:
          return [file_or_directory]