原因
常规DOS路径限制为MAX_PATH(260)
个字符,包括字符串的终止字符NUL
。 通过使用以 \\?\
前缀开头的扩展长度路径,可以超过此限制。此路径必须是完全限定的Unicode字符串,并且只能使用反斜杠作为路径分隔符。 根据Microsoft的file system functionality comparison,最大扩展路径长度为32760
个字符。单个文件或目录名最多可以包含255
个字符(UDF
文件系统为127
个字符)。
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| import os from PIL import Image import nrrd
files_root = r"C:\test\images"
for root, dirs, files in os.walk(files_root, topdown=False): for name in files: if ".nrrd" in name: fn = os.path.join('\\\\?\\'+root, name) nrrd_data, nrrd_options = nrrd.read(fn) nrrd_image = Image.fromarray(nrrd_data) nrrd_image = nrrd_image.rotate(-90) if nrrd_image.mode == "F": nrrd_image = nrrd_image.convert("RGB") nrrd_image.save(f"{fn[:-5]}.png") print(fn + " is ok!")
|