首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python1064 chan.send命令

Python1064 chan.send命令
EN

Stack Overflow用户
提问于 2022-07-28 09:17:19
回答 1查看 24关注 0票数 -1

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

这是我的剧本:

代码语言:javascript
复制
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“中奇怪的原因,这个命令可以工作,但我也有这个错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-28 09:25:45

您可能对SQL字符串中的引号有问题。

代码语言:javascript
复制
"mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = "";'"

在最后一部分中,您将;括在"中,但是整个字符串以"开头和结尾,所以python将其理解为结束一个字符串,启动另一个字符串,然后将它们连接在一起。python是这样看待您的字符串的:(检查末尾的差异)

代码语言:javascript
复制
"mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = ;'"

这样,SQL就不喜欢where disabledtext = ;部分。要使它工作,不要将整个字符串封装在"中,而是使用""" (参见多行字符串):

代码语言:javascript
复制
""" mysql --user='test' --password=mypw --database='bugs_mogis' --execute='select login_name, realname, last_seen_date from profiles where disabledtext = "";' """
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73150268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档