2015-06-08 201 views
0

我正在嘗試使用windows內置搜索功能來製作一個簡單的gui。這是我遇到的問題。Python刪除引號

#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 + 
        "')\"") 

與該代碼,如果我輸入兩個關鍵詞到輸入域,說「測試1」和「測試2」蟒蛇將打印keyword_string就象這樣:

「測試1」「測試2」

但是,當在查詢中使用keyword_string它顯示爲這樣:

test1test2

因此,打印命令後的地方,Python是剝離報價三月ks從字符串?

+2

'testvariable'定義在哪裏? – Kevin

+0

對不起。這是懶惰校對的錯誤。應該讀「keyword_string」。將解決。 – Volkisch

回答

0

您是否嘗試過使用兩套引號?或者一組雙引號內的一組單引號?

+0

在雙引號作品中使用單引號! 我嘗試了我所知道的引號中的所有引號,並且認爲我會分享與其他人發生的事情。 轉義它們將連接兩個字符串,並在打印和發送到查詢之間的某個位置剝去引號。 使用三重引號會導致字符串消失,並且查詢爲空(查詢的最後一個paranthesis消失,我發現它很奇怪)。 在單引號內使用雙引號連接字符串並剝離最後一個引號,但不是第一個引號(再次,我發現奇數)。 – Volkisch