import os import pathlib import tempfile def test(func, *args): try: func(*args) except OSError as err: print("%s: %s" % (func.__name__, err)) else: print("%s, ok" % func.__name__) with tempfile.TemporaryDirectory(prefix="path_test_") as path: new_path = pathlib.Path(path, "A"*255, "B"*255) print(len(str(new_path)), new_path) extended_path = "\\\\?\\%s" % new_path print(len(extended_path), extended_path) path_instance = pathlib.Path(extended_path) print("\n *** works with \\?\ notation:") test(os.makedirs, extended_path) test(os.path.isdir, extended_path) test(open, "%s\\A" % extended_path, "w") test(os.path.isfile, "%s\\A" % extended_path) test(os.link, "%s\\A" % extended_path, "%s\\B" % extended_path) test(os.unlink, "%s\\A" % extended_path) print("\n *** pathlib tests:") test(path_instance.resolve) test(path_instance.is_dir) pathlib_filepath = pathlib.Path(path_instance, "C") test(pathlib_filepath.open, "w") print("\n *** Doesn't working with \\?\ notation:") test(os.chdir, extended_path) print("="*79) print("="*79)