validate filenames Algorithm

This can be done to compare different representations for equivalence, to count the number of distinct data structures, to better the efficiency of various algorithms by eliminate repeated calculations, or to make it possible to enforce a meaningful sorting order. In computer science, canonicalization (sometimes standardization or normalization) is a procedure for converting data that has more than one possible representation into a" standard"," normal", or canonical form.
#!/usr/bin/env python3

import os
from build_directory_md import good_file_paths

filepaths = list(good_file_paths())
assert filepaths, "good_file_paths() failed!"


upper_files = [file for file in filepaths if file != file.lower()]
if upper_files:
    print(f"{len(upper_files)} files contain uppercase characters:")
    print("\n".join(upper_files) + "\n")

space_files = [file for file in filepaths if " " in file]
if space_files:
    print(f"{len(space_files)} files contain space characters:")
    print("\n".join(space_files) + "\n")

nodir_files = [file for file in filepaths if os.sep not in file]
if nodir_files:
    print(f"{len(nodir_files)} files are not in a directory:")
    print("\n".join(nodir_files) + "\n")

bad_files = len(upper_files + space_files + nodir_files)
if bad_files:
    import sys

    sys.exit(bad_files)

LANGUAGE:

DARK MODE: