2016-09-11 59 views
3

我正在寫一個利用大量文件的程序。請問Python功能的文件路徑的內置類,還是一個必須由用戶來實現(如下圖所示):Python專用文件名類

class FilePath: 
    def __init__(path): 
     shazam(path) 

    def shazam(self, path): 
     """ something happens, path is formatted, etc """ 
     self.formatted_path = foobar 

它爲什麼會是有用的?

假設程序及其數據被複制到不同的操作系統。該類可以在啓動時自行修改以支持不同的路徑分隔符。

爲什麼不自己寫呢?

有人可能已經在標準Python庫中編寫了一個類。

+0

這是功課嗎?你應該指定它在你的問題。 – Soviut

+0

@Soviut不,這不是家庭作業。 – techydesigner

+0

我們不能使用os.path.abspath或os.name來區分嗎? –

回答

2

Python有幾個用於處理文件系統的跨平臺模塊,pathsoperating system

os模塊明確具有os.sep字符。

os.path.join()是OS感知的,並且在將路徑連接在一起時將使用正確的分隔符。

此外,os.path.normpath()將採取任何路徑並將分隔符轉換爲本機操作系統支持的任何分隔符。

1

由於Python 3.4有pathlib這似乎是你在找什麼。當然也有os.path的功能 - 但對於面向對象的方法,pathlib更合適。