2010-09-08 63 views
5

我有這個腳本處理包含Windows文件路徑的行。但是該腳本正在Linux上運行。有沒有辦法改變os庫在Windows上運行時進行Windows文件路徑處理?Python - 使腳本來操縱Windows文件路徑,但在Linux上運行

我的想法是這樣的:

import os 
os.pathsep = '\\' 

(不工作,因爲os.pathsep是,因某些原因)

我的腳本:

for line in INPUT.splitlines(): 
    package_path,step_name = line.strip().split('>') 
    file_name = os.path.basename(package_path) 
    name = os.path.splitext(file_name)[0] 
    print template % (name,file_name,package_path) 

回答

7

看那ntpath模塊

在Linux上,我所做的:

>> import ntpath  
>> ntpath.split("c:\windows\i\love\you.txt") 
('c:\\windows\\i\\love', 'you.txt') 
>> ntpath.splitext("c:\windows\i\love\you.txt") 
('c:\\windows\\i\\love\\you', '.txt') 
>> ntpath.basename("c:\windows\i\love\you.txt") 
'you.txt' 
1

os.pathsep是用於PATH環境變量的分隔符。你正在尋找os.sep。

雖然我通常會建議不要更改模塊中的數據,但它可能適合您的需求。或者,您可以自己實施基本名稱,如package_path.split('\\')[-1]

3

請嘗試使用os.sep = '\\'。 os.pathsep是用於在操作系統上分離搜索路徑(PATH環境變量)的分隔符。

看到os module description

相關問題