给定一个文件包含以下行:
(?i:\bsys\.user_catalog\b)
在阅读这些行时,我希望该值是原始字符串(未转义),这意味着,在内存中,行应该是
r'(?i:\bsys\.user_catalog\b)'
代替
(?i:\bsys\.user_catalog\b)
当传递给诸如 sqlobject 之类的库时,它会被转义。
例如,使用 sqlobject,如果我声明
Table(column=r'(?i:\bsys\.user_catalog\b)')
如果我声明,我会得到想要的结果
Table(column='(?i:\bsys\.user_catalog\b)')
我不。
所以问题基本上是,当我不处于声明/赋值模式(例如a = r'string'
)时,我可以传递一个原始字符串,而是该字符串已经在内存中。