2013-05-17 13 views
2

如果我有一個字符串可以說喔添加一個簡單的數值爲字符串

path2 = '"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio' 

而且我想在字符串我怎麼做的末尾添加"?現在我有這樣的。

path2 = '"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio' 
w = '"' 
final = os.path.join(path2, w) 
print final 

然而,當它打印出來,這是返回什麼:

「C:\用戶\ bgbesase \文檔\布倫特\代碼\的Visual Studio \」

我不需要\我只想要"

感謝您的任何幫助提前。

+3

你斜槓正在通過'os.path.join()'添加。相反,只要像字符串一樣對待字符串並像通常那樣追加即可。 –

+1

使用原始字符串避免需要轉義所有反斜槓。 'r'「C:\ Users \ bgbesase \ Documents \ Brent \ Code \ Visual Studio''。 – chepner

回答

7

怎麼樣?

path2 = '"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio' + '"' 

或者,你有它

final = path2 + w 

另外值得一提的是,你可以使用原始字符串(r'stuff'),以避免逃跑反斜槓。防爆。

path2 = r'"C:\Users\bgbesase\Documents\Brent\Code\Visual Studio' 
7

只是做:

path2 = '"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio' + '"' 
+1

+1。但值得一提的是,OP可以採用完全相同的結構:'final = path2 + w'。 – abarnert

2

我覺得path2+w是最簡單的答案在這裏,但你也可以使用字符串格式化,以使其更易於閱讀:

>>> path2 = '"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio' 
>>> '{}"'.format(path2) 
'"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio"' 

如果path2很長比它更比在字符串末尾添加+更容易使用字符串格式。

>>> path2 = '"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio\\Documents\\Brent\\Code\\Visual Studio\\Documents\\Brent\\Code\\Visual Studio' 
>>> w = '"' 
>>> "{}{}".format(path2,w) 
'"C:\\Users\\bgbesase\\Documents\\Brent\\Code\\Visual Studio\\Documents\\Brent\\Code\\Visual Studio\\Documents\\Brent\\Code\\Visual Studio"' 
+0

如果你打算給出一個有趣的答案,那就更好玩了。怎麼樣'''.join(itertools.chain(path2,w))'?但我相信你可以想出更好的東西。 – abarnert

0

從Python文檔Common pathname manipulations部分:

返回值是PATH1的級聯,以及任選PATH2, 等,具有恰好一個目錄分隔符(os.sep)以下各 非 - 除最後一部分外的空白部分。

在這種情況下,os.path.join()對待你的字符串'「作爲路徑的一部分,並增加了隔膜。既然你不加入路徑的兩個部分,你需要使用字符串連接或string formatting
最簡單的將只是添加兩個字符串:

final = path2 + '"' 

可以使用+=運營商實際修改路徑2:

path2 += '"' 
相關問題