【问题标题】:Python removes quotesPython 删除引号
【发布时间】:2015-06-08 19:14:34
【问题描述】:

我正在尝试使用 Windows 内置搜索功能用 tkinter 制作一个简单的 gui。这是我遇到问题的代码。

#gets search keywords from user input and splits into list
keyword_list = self.entry.get()
    keyword_list = keyword_list.split()

    #creates empty string
    keyword_string = ""

    #fills empty string with list, appends necessary quotation marks
    for i in keyword_list:
        keyword_string += "\"" + i + "\""

    print(keyword_string)

    #runs cmd query of windows index
    subprocess.call("c:/users/jdoe/desktop/wssql.exe " +
                    "\"select system.ItemPathDisplay from systemindex
                    where contains(*,'" +
                    keyword_string +
                    "')\"")

使用该代码,如果我在输入字段中输入两个关键字,例如“test1”和“test2”,python 将按以下方式打印关键字字符串:

“测试1”“测试2”

但是,当在查询中使用关键字字符串时,它会显示为:

测试1测试2

那么,在 print 命令之后的某个地方,Python 正在从字符串中去除引号?

【问题讨论】:

  • testvariable 定义在哪里?
  • 对不起。这是懒惰校对的错误。应阅读“keyword_string”。会修复的。

标签: python sql tkinter oledb


【解决方案1】:

您是否尝试过使用两组引号?还是一组双引号内的一组单引号?

【讨论】:

  • 在双引号内使用单引号有效!我尝试了我所知道的引语中的所有引语,并认为我会与其他人分享发生的事情。对它们进行转义会连接两个字符串,并在打印和发送到查询之间的某处去除引号。使用三引号会导致字符串消失并且查询为空(查询的最后一个括号也消失了,我觉得这很奇怪)。在单引号内使用双引号连接字符串并去除最后一个引号,但不是第一个引号(再次,我觉得这很奇怪)。
猜你喜欢
  • 2020-04-05
  • 2020-03-14
  • 1970-01-01
  • 2022-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
相关资源
最近更新 更多