2013-05-22 49 views
4

在Python 2.6中,我需要通過連接INTRANET\和用戶標識(例如jDoe)創建字符串以獲取字符串INTRANET\jDoe。這將把字符串作爲SQL查詢的一部分。我已經嘗試了很多方法,但最終得到了INTRANET\\jDoe,因此我的查詢不會返回任何結果。Python - 連接字符串以包含單個反斜槓

我想這樣做:

a = 'INTRANET\\' 
b = 'jDoe' 
c = a+b ### want to get c as 'INTRANET\jDoe', not 'INTRANET\\jDoe' 

感謝


這個問題似乎有點不同:

當我打印C,我得到 'INTRANET \ JDOE'。但是,當我將c添加到列表(用於SQL查詢中)如下:

list1 = [] 
list1.append(c) 
print list1 

>>>['INTRANET\\jDoe'] 

這是爲什麼?

+1

「我已經嘗試了很多方法」 - 您測試的方式似乎是祕密的。所以答案也是祕密...... – glglgl

+0

當你說「最終得到」,你的意思是當你打印它?和笑@glglgl –

+0

你可能想嘗試'打印c'和'打印len(c)'。 'c'只有一個反斜槓。 – DSM

回答

2

額外的\是由於蟒蛇逃跑。

>>> print 'INTERNET\\jDoe' 
INTERNET\jDoe 

它不影響您正在使用的SQL。你應該看另一個方向。

+0

謝謝Yossi ..但是當我將連接字符串打印到文件時,我得到輸出'INTRANET \\ jDoe'..也許我在這裏丟失了一些東西。 – sunny

+0

Yossi,我的問題仍然沒有解決..我更新了問題。 – sunny

1

嘗試下面的代碼,

s1 = "INTRANET" 
s1 = s1 + "\\" 
s1 = s1 + "jDoe" 
print s1 

這將給予正確的輸出INTERNET\jDoe

如果只是嘗試查看變量的內容,你會看到一個額外的\,這是一個轉義序列在python中。在這種情況下,它會顯示,

'INTERNET\\jDoe' 
+0

謝謝DDD ..這是有道理的。 – sunny

相關問題