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

相关推荐
C++ 老炮儿的技术栈1 天前
VSCode -配置为中文界面
大数据·c语言·c++·ide·vscode·算法·编辑器
Tipriest_1 天前
vscode snippet 工程模板文件分享
ide·vscode·编辑器
Magnum Lehar2 天前
vscode游戏引擎的build-clean配置
ide·vscode·游戏引擎
Magnum Lehar2 天前
vscode游戏引擎的build-all全局配置
ide·vscode·游戏引擎
程序猿小D2 天前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim
大鼻噶喳2 天前
使用VSCode开发MCU,FreeRTOS进Hard_Fault调试
vscode·单片机
我想吹水2 天前
vscode python debugger 如何调试老版本python
vscode·python·python debugger
ScilogyHunter3 天前
vscode的c工程配置文件详解
c语言·ide·vscode
摆渡搜不到你3 天前
Visual Studio Code 1.101.0 官方版
ide·vscode·编辑器
亦良Cool3 天前
如何让 VS Code 仅通过滚轮放大字体,而不缩放整个界面?
vscode