if WINDOWS:
if IS_WINDOWS_LINUX_SUBSYSTEM:
DIRECTORY_REGEX = '^/[a-z](/([0-9a-z_.]+?[0-9a-z_.-]*){1,}){0,}$'
else:
DIRECTORY_REGEX = '^[a-z]:(\\\\([0-9a-z_.]+?[0-9a-z_.-]*){1,}){0,}$'
else:
DIRECTORY_REGEX = '(/([0-9a-zA-Z_.]+?[0-9a-zA-Z_.-]*){1,}){1,}$'
上面的基本校验没问题...
但是没办法避免相对路径比如../ 做法是禁止出现斜杠后有../和./ 我以前写过一个类似的文件名校验的
PATHPATTERN = r'^[A-Za-z0-9]+?(?!.*?/[\.]{1,}/)([A-Za-z0-9\.\-_/])+?[A-Za-z0-9]+?$'
然后我现在看不懂了...求个最优的写法 orz