我是 Python 新手,我正在使用该cx_Oracle
模块编写一些数据库代码。在cx_Oracle 文档中,他们有一个这样的代码示例:
import sys
import cx_Oracle
connection = cx_Oracle.Connection("user/pw@tns")
cursor = connection.cursor()
try:
cursor.execute("select 1 / 0 from dual")
except cx_Oracle.DatabaseError, exc:
error, = exc.args
print >> sys.stderr, "Oracle-Error-Code:", error.code
print >> sys.stderr, "Oracle-Error-Message:", error.message
我的问题与“错误”对象的创建位置有关。“ , =
”有什么作用?我尝试搜索 Python 文档,搜索引擎在搜索运算符时效果不佳。:-)
我知道 exc.args 是一个单例元组,但我只是不明白 " , =
" 语法。如果我删除逗号,我会收到错误消息“ AttributeError: 'tuple' object has no attribute 'code'
”。
有人可以指出我记录在哪里吗?谢谢!
编辑:
这无需解包元组即可工作:
import sys
import cx_Oracle
connection = cx_Oracle.Connection("user/pw@tns")
cursor = connection.cursor()
try:
cursor.execute("select 1 / 0 from dual")
except cx_Oracle.DatabaseError, exc:
print >> sys.stderr, "Oracle-Error-Code:", exc.args[0].code
print >> sys.stderr, "Oracle-Error-Message:", exc.args[0].message