当我执行chan.send命令时,出现了以下错误:

这是我的剧本:
chan.send("mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = "";'")
chan.send('\n')
time.sleep(1)
resp = chan.recv(9999)
output = resp.decode('ascii').split(',')
print (''.join(output))
chan.close()这是"putty“中奇怪的原因,这个命令可以工作,但我也有这个错误

发布于 2022-07-28 09:25:45
您可能对SQL字符串中的引号有问题。
"mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = "";'"在最后一部分中,您将;括在"中,但是整个字符串以"开头和结尾,所以python将其理解为结束一个字符串,启动另一个字符串,然后将它们连接在一起。python是这样看待您的字符串的:(检查末尾的差异)
"mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = ;'"这样,SQL就不喜欢where disabledtext = ;部分。要使它工作,不要将整个字符串封装在"中,而是使用""" (参见多行字符串):
""" mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = "";' """https://stackoverflow.com/questions/73150268
复制相似问题