首先,抱歉:我很确定这可能是一个“重复”,但我没有成功地找到正确的解决方案。在
我只想替换sql代码中的所有换行符,以便将其记录到一行,但Python的f-string不支持反斜杠,因此:# Works fine (but is useless ;))
self.logger.debug(f"Executing: {sql.replace( 'C','XXX')}")
# Results in SyntaxError:
# f-string expression part cannot include a backslash
self.logger.debug(f"Executing: {sql.replace( '\n',' ')}")
当然,在f-string之前有几种方法可以实现这一点,但是我真的希望将我的“logtheline”代码保存在一行中,而不需要额外的helper变量。在
(除此之外,我认为这是一个相当愚蠢的行为:要么你可以在大括号内执行代码,要么你不能……不是“你可以,但只能没有反斜杠”…)
因为这不是一个理想的解决方案:
常规更新
mkrieger1s评论中的建议:
^{pr2}$
对我来说很好,但是因为它根本不使用f字符串(不管它本身是好是坏),我想我可以把这个问题留着讨论。在