model_dir = re.split("\checkpoints\", args.model_path)[0]
上面的代码中,我想要将args.model_path中checkpoints之前的部分提取出来,比如args.model_path=“D:\Vscode\GitHub_Code\TPRO-main\work_dirs\luad\classification\checkpoints\mit_b0.pth”,则model_dir=“D:\Vscode\GitHub_Code\TPRO-main\work_dirs\luad\classification\”。
re.error: bad escape \c at position 0
正则表达式中使用了 \c,但 \c 不是一个有效的转义序列,因此会引发错误。
- 方法一:
- model_dir = re.split("\\checkpoints\\", args.model_path)[0]
- 即使用"\\"代替"\"
- 方法二:
- model_dir = re.split(r"\\checkpoints\\", args.model_path)[0]
- 即使用"\\\\"代替"\",同时使用了原始字符串(raw string) r 前缀,以确保正则表达式引擎能够正确解释
注意:本人使用的是Windows系统,如果是Linux系统应该不会出现这个问题。