【问题标题】:f-string for multiple SQL lines多个 SQL 行的 f 字符串
【发布时间】:2019-01-09 18:59:17
【问题描述】:

这个有效(仅一行):

   c.execute(f"SELECT Firm, Platform, `Sale in million` FROM database WHERE Platform IN  ({','.join('?' for _ in list_table)}) ORDER BY Firm", (list_table))

但这些没有(2行):

c.execute(f"SELECT Firm, Platform, `Sale in million` FROM database 
          WHERE Platform IN  ({','.join('?' for _ in list_table)}) ORDER BY Firm", (list_table))

c.execute(f"SELECT Firm, Platform, `Sale in million` FROM database" 
          f"WHERE Platform IN  ({','.join('?' for _ in list_table)}) ORDER BY Firm", (list_table))"

c.execute("SELECT Firm, Platform, `Sale in million` FROM database" 
          f"WHERE Platform IN  ({','.join('?' for _ in list_table)}) ORDER BY Firm", (list_table))"

如何在多行中使用 f-string?

【问题讨论】:

标签: python sql sqlite f-string


【解决方案1】:

问题源于本质上无效的多行,而不是f-string. 的任何错误。请注意,您只需要在 {} 括号内使用您的变量,而不是使用 f-string 语法单独传递它们。在字符串末尾使用三引号或反斜杠以使用多行字符串。 Link to docs

test = "this is a 
       bad multiline " #Raises SyntaxError: EOL while scanning string literal

test = ''' this is a 
         valid multiline'''

a = "answer"

print(f'''test
        is complete. check {a} ''')

【讨论】:

    猜你喜欢
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    相关资源
    最近更新 更多