2010-09-27 50 views
5

我是一個python新手,難以解決問題。字符串寬容平等測試

我有一個字符串定義一個路徑,所有的空間都被轉換爲下劃線。 我怎樣才能找到它是否對應一個真正的路徑?

例如一個字符串像/some/path_to/directory_1/and_to/directory_2
一個真正的路徑:/some/path_to/directory 1/and_to/directory 2

通知,真正的路徑可以包含空格和下劃線。

我該如何餵它到os.path.exists() ???

感謝 亞歷山德羅

回答

5

使用glob,但射程[ _]替換每個強調:

import glob 
glob.glob('/some/path_to/directory_1/and_to/directory_2'.replace('_', '[ _]')) 

注意,如果路徑中包含的字符[這將失敗。您可以通過首先用[[]替換[來解決此問題。

+0

... *先*用'[[]'替換'[']。 – Constantin 2010-09-27 09:33:45

+0

是什麼? p1 ='/ some/path_to/directory_1/and_to/directory_2'.replace('_','[_]') p2 ='/ some/path_to/directory_1/and_to/directory_2'.replace('[',' [] []')glob.glob(p2) – alessandro 2010-09-27 09:37:44

+0

+1:那些忘記glob模塊的人註定要在SO問題上刷新刷新之前嘗試重新創建它幾分鐘,以查看來自某人的答案,噸。 – MattH 2010-09-27 09:38:31