2016-05-09 88 views
2

我在Windows下,但我需要處理一些UNIX風格的路徑,如:有什麼辦法可以指定os.path的平臺嗎?

In[4]: os.path.abspath('/prj/vl') 
Out[4]: 'C:\\prj\\vl' 

這是不正確的輸出我想要的。所以我想知道是否有辦法強制os.path在Unix下工作?即我想看看是否有類似的東西:os.path.setos('Linux')

+0

嘗試'os.path.abspath則( 'PRJ/VL')' – heinst

回答

4

os.path是一個不同的模塊,具體取決於您的操作系統。由於os.path文檔中documented,你可以明確地導入Unix類路徑的版本:

import posixpath 

其他版本ntpath的Windows路徑,macpath適用於舊的MacOS的路徑,並os2emxpath用於OS/2 EMX路徑。

1

可以使用posixpath代替os.path - 實際上,os.path使用或者posixpathntpath取決於系統。

2

由於不同的操作系統有不同的路徑名稱約定,所以在python標準庫中有這個模塊的幾個版本。 os.path模塊始終是適用於Python運行的操作系統的路徑模塊,因此可用於本地路徑。但是,如果要操縱始終採用不同格式之一的路徑,還可以導入和使用各個模塊。他們都有着相同的接口:

`posixpath` for UNIX-style paths 
`ntpath` for Windows paths 
`macpath` for old-style MacOS paths 
`os2emxpath` for OS/2 EMX paths 

參考:https://docs.python.org/2/library/os.path.html

+2

這個答案是1:1從https複製://文檔。 python.org/2/library/os.path.html,我認爲應該引用 – CherryDT

+0

確定的事情。 DONE –

相關問題