Python 格式的字符串文本返回"SyntaxError: invalid syntax"



我使用的是python cx_oracle,当我尝试将变量插入sql:时

cursor.executemany(f"INSERT INTO table ({columns}) VALUES ({placeholders })",t)

它返回:

  File "eula_db.py", line 77
    cursor.executemany(f"INSERT INTO table ({columns}) VALUES ({placeholders })",t)
                                                                                       ^
SyntaxError: invalid syntax

使用Python 3.6

包含t.py:

columns = 'abc'
placeholders = ':b'
s = f"INSERT INTO EULA_STG_DATA ({columns}) VALUES ({placeholders })"
print(s)

行为取决于Python版本:

$ python --version
Python 2.7.16
$ python t.py 
  File "/Users/cjones/py/so15.py", line 3
    s = f"INSERT INTO EULA_STG_DATA ({columns}) VALUES ({placeholders })"
                                                                        ^
SyntaxError: invalid syntax

使用更新的Python:

$ python --version
Python 3.9.1
$ python t.py 
INSERT INTO EULA_STG_DATA (abc) VALUES (:b)

相关内容

最新更新