2017-06-15 87 views
2

我有一個路徑到我想要遍歷所有文件的目錄。它看起來像這個myPath = "D:\workspace\test\main\test docs",當我打印出myPath時,它看起來像"D:\\workspace\test\\main\test docs"。正如你所看到的,除了最後一個之外,它還爲每個斜線添加了斜線。Python路徑字符串除了最後一個之外還添加了一個額外的斜槓

當我做for path, dirs, files in os.walk(myPath):它不工作,如果沒有' t額外的斜槓。爲什麼python不是將額外的斜槓添加到最後一個斜槓?

它正在另一臺計算機上工作。

+0

嘗試'myPath = r「D:\ workspace \ test \ main \ test docs」' –

回答

3

由於'\t'是轉義序列有意義:它是一個標籤,像在2.4.1 String literals section中指定。其他人只會在這裏沒有意義,所以Python會爲你免費(免費)。

因此,你可以添加額外的反斜線像:

myPath = "D:\\workspace\\test\\main\\test docs" 

,或者你可以使用一個原始字符串,用r前綴是:

myPath = r"D:\workspace\test\main\test docs" 

在這種情況下:

除非一個r' or R」前綴存在,逃避串序列被解釋根據類似於由標準C.

使用規則因此,這意味着反斜槓(\)是解釋爲一些特殊的,但只能作爲反斜槓。

+0

沒錯。感謝你的回答 – user3494047

相關問題