Python 如果数据库连接失败,如何写入文件
我有下面的Python脚本,它工作得很好,但我想介绍一些故障保护选项。。故障安全选项是 1) 如果我找不到(在本例中)Michael,我想写入文件错误 2) 如果数据库不允许我连接,无论出于何种原因,我想写入另一个文件连接\u错误 这是我的剧本:Python 如果数据库连接失败,如何写入文件,python,logging,error-handling,pymssql,info,Python,Logging,Error Handling,Pymssql,Info,我有下面的Python脚本,它工作得很好,但我想介绍一些故障保护选项。。故障安全选项是 1) 如果我找不到(在本例中)Michael,我想写入文件错误 2) 如果数据库不允许我连接,无论出于何种原因,我想写入另一个文件连接\u错误 这是我的剧本: #! /usr/bin/python import pymssql import sys sys.path.insert(0, '/opt/mount/safe') from secrets import password conn = pyms
#! /usr/bin/python
import pymssql
import sys
sys.path.insert(0, '/opt/mount/safe')
from secrets import password
conn = pymssql.connect(
server="server",
port=port,
user="user",
password=password,
database="database")
conn
cursor = conn.cursor()
cursor.execute("SELECT name, address FROM database WHERE name = 'michael'")
with open('safe/file.txt', 'w') as f:
for row in cursor.fetchall():
print ( "Person " + (row[0])),
print ( "has this address " + (row[1]))
f.write(str( "Person " + (row[0])))
f.write("%s\n" % str( " has this address " + (row[1])))
conn.close()
花了我一段时间,但下面的工作真的很好
import sys, pymssql, string, os, calendar, datetime, traceback, socket, platform
try:
d = datetime.datetime.now()
log = open("LogFile.txt","a")
log.write("----------------------------" + "\n")
log.write("----------------------------" + "\n")
log.write("Log: " + str(d) + "\n")
log.write("\n")
# Start process...
starttime = datetime.datetime.now()
log.write("Begin process:\n")
log.write(" Process started at "
+ str(starttime) + "\n")
log.write("\n")
xxxxxx
CODE HERE
XXXXXX
endtime = datetime.datetime.now()
# Process Completed...
log.write(" Completed successfully in "
+ str(endtime - starttime) + "\n")
log.write("\n")
log.close()
except:
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate information together concerning
# the error into a message string
pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info())
# Return python error messages for use in
# script tool or Python Window
log.write("" + pymsg + "\n")
log.close()
要想得到这个问题的答案是很困难的,除非你(a)先自己尝试一下,让人们看到什么不起作用,或者(b)问一个具体的问题。现在,我想在这段代码中添加一些,这样您就可以捕获错误并将它们写入文件中,因为neededIt听起来像是您想要实现的。该页面包含指向两个教程的链接。