如何在python中使用变量作为占位符

2024-04-28 05:21:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要python中变量的帮助,如果我在select查询中给出了实际的表名,那么这些变量将在运行时被带到python中,但当我尝试变量时失败了。

import cx_Oracle
import csv
import sys
tablename = sys.argv[1] # pasing it as input at runtime
host = 'server.com'
port = 7111
SERVICE_NAME = 'gtpts'
login = 'USER'
passwrd = 'password'
SID = 'server.com'
dsn = cx_Oracle.makedsn(host, port, SID).replace('SID','SERVICE_NAME')
con = cx_Oracle.connect(login, passwrd, dsn)

cur = con.cursor()

cur.execute('select * from table') # direct table name works but variable doesnot
row = cur.fetchall()

获取错误如下:

[20020663]:20020663> python oracleconnect.py employee
Traceback (most recent call last):
  File "oracleconnect.py", line 16, in <module>
    cur.execute('select * from tablename')
cx_Oracle.DatabaseError: ORA-00911: invalid character

我可以在perl中使用$variable来实现同样的功能,python中的任何东西都是一样的。


Tags: nameimportcomhostserverportservicesys