[使用以下命令,我运行一个python脚本,该脚本将一条SQL插入语句输出到stdout:xzcat ../file.txt|grep –i'某些文本'| python3.7 pythonscriptname | mysql –h主机–u用户名–ppassword数据库名称
如果我使用错误的语法或例如不存在的表打印SQL语句,我想捕获错误。我不想使用mysql.connector或mysqldb插入数据或捕获错误,因为将插入语句打印到stdout更快。
我必须输入以下代码:
try:
sql="INSERT IGNORE INTO "+str(wrongtabelname)+" VALUES"+values+";"
print(sql)
except: (SQLError, Exception, NameError,IndexError, TypeError, ValueError,ProgrammingError, Attrib
uteError, KeyError, BrokenPipeError,IOError, OSError, ConnectionAbortedError, ConnectionRefusedError, ConnectionError) as
e:
使用错误的SQL语句运行代码时,此代码不会捕获任何错误。有谁知道如何捕捉错误?
您将xzcat
传送到python
到mysql
。
此链中唯一可以看到SQL查询执行结果的进程是mysql
客户端。
[如果要将mysql
输出返回到python,请考虑从python脚本内部调用mysql
。为此,请使用subprocess
模块。