使用正则表达式模块“re”遇到的错误

源代码:
python 复制代码
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\"。

遇到的错误:
python 复制代码
re.error: bad escape \c at position 0
原因:

正则表达式中使用了 \c,但 \c 不是一个有效的转义序列,因此会引发错误。

解决措施:
python 复制代码
方法一:
model_dir = re.split("\\checkpoints\\", args.model_path)[0]
即使用"\\"代替"\"

方法二:
model_dir = re.split(r"\\checkpoints\\", args.model_path)[0]
即使用"\\\\"代替"\",同时使用了原始字符串(raw string) r 前缀,以确保正则表达式引擎能够正确解释

注意:本人使用的是Windows系统,如果是Linux系统应该不会出现这个问题。

相关推荐
乐闻x3 小时前
VSCode 插件开发实战(十二):如何集成Git操作能力
ide·git·vscode
Hylan_J9 小时前
【VSCode】工作区及设置
ide·vscode·编辑器
Jokerjay19 小时前
使用VsCode编译调试Neo4j源码
vscode·neo4j
码上好玩1 天前
vscode写python,遇到问题:ModuleNotFoundError: No module named ‘pillow‘(已解决 避坑)
vscode·python·pillow
scoone1 天前
VSCode 性能优化指南:提高编码效率,减少资源占用
ide·vscode·编辑器
搞笑的秀儿1 天前
12.25 VScode+jupyter使用
ide·vscode·jupyter
温柔的男孩像海洋丶1 天前
vscode的keil assistant 中搜索不到全局变量
ide·vscode·单片机
乐闻x1 天前
VSCode 插件开发实战(九): 不同插件之间如何通信
ide·vscode·编辑器
奋斗吧程序媛1 天前
删除VSCode上 origin/分支名,但GitLab上实际上不存在的分支
前端·vscode
乐闻x1 天前
VSCode 插件开发实战(十): 环境变量Env设置与管理
ide·vscode·编辑器