使用正则表达式模块“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系统应该不会出现这个问题。

相关推荐
Linux编程用C17 小时前
Docker+Vscode搭建(本地/远程)开发环境
vscode·后端·docker
爱装代码的小瓶子1 天前
【c++进阶】在c++11之前的编译器的努力
开发语言·c++·vscode·visualstudio·编辑器·vim
lanhuazui101 天前
VScode左边和右边辅助边框的修改
vscode
杨景辉1 天前
Vscode 使用
vscode
程序员大辉1 天前
Rust使用IDE,除了vscode还有RustRover非商业用户可以免费使用
ide·vscode·rust
我命由我123452 天前
VSCode - Prettier 配置格式化的单行长度
开发语言·前端·ide·vscode·前端框架·编辑器·学习方法
zfj3212 天前
vscode是js开发的,为什么能支持golang java等各种语言开发
javascript·vscode·golang
有梦想的鱼2 天前
vscode letax编译中英文论文(傻瓜式、一分钟)
ide·vscode·编辑器
猪在黑魔纹里3 天前
解决VSCode无法高亮、解析numpy中的部分接口(如pi、deg2rad)
ide·vscode·python·numpy
辣椒酱.3 天前
vscode报错------控制台
vscode·编辑器