2015-10-21 26 views
2

我正在使用os.path.normpath,並且在反斜槓後面有數字時值會更改。直接在反斜槓後面更改數值os.path.normpath(字符串)

fileString = os.path.normpath("server:\Projects\05 Project Name\Data\20151021\Master.xlsx") 
print fileString 

返回:服務器:\項目\項目\ Data51021 \ MASTER_LIST.XLSX

注意 '\ 05' 消失, '\ 20' 變成。

爲什麼會發生這種情況,我該如何解決?

+0

使用'R「字符串」'或逃避與你的所有的反斜線'「\\」' –

回答

3

解決這個最簡單的方法是使用原始字符串字面量:

fileString = os.path.normpath(r"server:\Projects\05 Project Name\Data\20151021\Master.xlsx") 
#       ^

反斜槓字符表示常規字符串中的轉義序列。

解決這個問題的另一種方法是要麼使用正斜槓作爲路徑分隔符,或雙反斜線:

"server:/Projects/05 Project Name/Data/20151021/Master.xlsx" 

"server:\\Projects\\05 Project Name\\Data\\20151021\\Master.xlsx"