我有一些代碼,我想知道一個路徑是否具有shell通配符,這似乎是在中心位置定義的東西。我發現glob.has_magic()提供了這個(它只是一個正則表達式:'[*?[]'
)。但是此方法未列在模塊的__all__
列表中,並且未出現在pydoc中。可以使用glob.has_magic嗎?
我應該只是複製這個正則表達式到我的代碼? (我不喜歡)
在未來版本的python中是否存在這種方法被刪除的風險,因爲它沒有出現在文檔中?
我有一些代碼,我想知道一個路徑是否具有shell通配符,這似乎是在中心位置定義的東西。我發現glob.has_magic()提供了這個(它只是一個正則表達式:'[*?[]'
)。但是此方法未列在模塊的__all__
列表中,並且未出現在pydoc中。可以使用glob.has_magic嗎?
我應該只是複製這個正則表達式到我的代碼? (我不喜歡)
在未來版本的python中是否存在這種方法被刪除的風險,因爲它沒有出現在文檔中?
作爲一個小方面:'has_magic'不檢查shell通配符,而是檢查特殊的glob字符。這不完全是一回事。括號範圍不是通配符,你的特定shell可以實現一個子集(Windows cmd.exe)或glob的超集(bash或zsh)等等。但是我猜你實際上使用正則表達式來表示「glob special字符「而不是」當前用戶shell的通配符「,在這種情況下,您可以忽略這種挑剔。 – abarnert
@abarnert:是的,我想「glob特殊字符」會更具體。 – Chris