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

相关推荐
YoungHong19922 小时前
一行配置解决claude code 2.0版本更新后 vscode 插件需要登录的问题
ide·vscode·编辑器
Blue桃之夭夭2 小时前
git和VScode
ide·git·vscode
蜀中廖化15 小时前
python VSCode中报错 E501:line too long (81 > 79 characters)
开发语言·vscode·python
shimly12345615 小时前
vscode 指定连接其它版本的 linux
ide·vscode·编辑器
___波子 Pro Max.19 小时前
VS Code文件监视排除设置详解
vscode
larry_dongy1 天前
【学习记录】vscode+ros2+cpp调试
vscode·学习
vortex51 天前
vscode-background 扩展的原理、配置和使用
ide·vscode·编辑器
饭来_1 天前
通过 SSH 远程连接 docker 容器
vscode·docker·ssh
Ching·2 天前
RK3568入门之VScode远程连接开发板,直接开发板上面编程和实验
linux·ide·vscode·编辑器·rk3568
青草地溪水旁2 天前
Visual Studio Code中launch.json深度解析:C++调试的艺术
c++·vscode·json