pathlib offers a set of classes to handle filesystem paths. It offers the following advantages over using string objects: - No more cumbersome use of os and os.path functions. Everything can be done easily through operators, attribute accesses, and method calls - Embodies the semantics of different path types. For example, comparing Windows paths ignores casing - Well-defined semantics, eliminating any warts or ambiguities (forward vs backward slashes, etc.)