如何解决在 Python 函数中调用字符串时出现“TypeError: must be str, not NoneType”错误
这是一个将作业状态写入 MySQL 进程日志的函数:
driver.find_element_by_css_selector("div.flex.flex-column")
我收到错误:
# job status function
def mysql_write_jobstatus(host,user,password,batch_id,source,status,job_start_dt,job_finish_dt = None,filename = None,error = None):
if job_finish_dt is None:
status_sql = "INSERT INTO schema.table (\
batch_id,run_date,data_processed,job_start_dt)\
values ('" + batch_id + "','" + rundate + "','" + source + "','" + status + "','" + data_processed + \
"','" + job_start_dt + "');"
else:
status_sql = "UPDATE schema.table SET status = '" + status + "',\
job_finish_dt = '" + job_finish_dt + "',filename = '" + filename + "',error = '" + error + "' WHERE batch_id = '" + batch_id + "' AND \
source = '" + source + "';"
try:
con = pymysql.connect(host=lol,user=lol,password=lol,autocommit=True,local_infile=1)
print('Connected to DB: {}'.format(host))
# Create cursor and execute Load SQL
cursor = con.cursor()
cursor.execute(status_sql)
con.close()
except Exception as e:
print('Error: {}'.format(str(e)))
sys.exit(1)
source 是一个字符串变量,它只在代码顶部定义一次,如下所示:
File "<ipython-input-222-0d62a2bb45ad>",line 75,in mysql_write_jobstatus
source = '" + source +"';"
TypeError: must be str,not NoneType
我所看到的一切都让我相信这是一个字符串。同一个 SQL 调用中的其他被调用变量按预期工作。
我已从全局环境中删除了所有变量。
有什么想法吗?
easygui.msgbox ('You entered ' + flavour) TypeError: must be str,not NoneType 没有帮助,因为 source 是一个手动定义的字符串,永远不应更改为 NoneType。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。