编译Python代码时出现truncated \UXXXXXXXX escape错误该如何解决
错误触发原因
Python字符串中\是默认的转义字符,你代码中Windows路径里的C:\Users开头的\U会被Python识别为Unicode 8位转义序列的起始标记,后续字符不符合Unicode转义的规范格式,就会触发truncated \UXXXXXXXX escape报错。
修复方案
可任选以下任意一种方案解决:
- 方案1:使用原始字符串
在路径字符串的引号前加r标记,告诉Python不需要解析该字符串内的转义字符:
source_dir = r"C:\Users\RAJDEEP\Desktop\FINAL\original_images" + class_name destination_dir = r'C:\Users\RAJDEEP\Desktop\FINAL\original_images_preprocessed' + class_name
- 方案2:替换为正斜杠作为路径分隔符
Windows系统同样支持/作为路径分隔符,不会触发转义识别:
source_dir = "C:/Users/RAJDEEP/Desktop/FINAL/original_images" + class_name destination_dir = 'C:/Users/RAJDEEP/Desktop/FINAL/original_images_preprocessed' + class_name
- 方案3:双反斜杠转义
用\\表示单个字面意义的反斜杠,抵消转义效果:
source_dir = "C:\\Users\\RAJDEEP\\Desktop\\FINAL\\original_images" + class_name destination_dir = 'C:\\Users\\RAJDEEP\\Desktop\\FINAL\\original_images_preprocessed' + class_name
- 方案4(推荐跨平台方案):使用
pathlib模块处理路径
Python3.4+内置的pathlib模块可以更规范地处理路径,避免手动处理分隔符的问题:
from pathlib import Path class_name = 'normal' base_path = Path("C:/Users/RAJDEEP/Desktop/FINAL") source_dir = base_path / "original_images" / class_name destination_dir = base_path / "original_images_preprocessed" / class_name
内容的提问来源于stack exchange,提问作者Dead3ye
相关产品推荐
相关产品推荐

