return all files under file_or_directory.

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]