2010-07-23 108 views
27

我有一個路徑:刪除最後一個路徑組件在一個字符串

myPath = "C:\Users\myFile.txt" 

我想,這樣的字符串只包含刪除結束路徑:

"C:\Users" 

到目前爲止,我使用的分裂,但它只是給了我一個清單,而且我堅持在這一點上。

myPath = myPath.split(os.sep) 
+0

這應該是'myPath',不'fPath' – ghostdog74 2010-07-23 02:56:26

回答

48

你不應該直接操縱路徑,這裏有os.path模塊。

>>> import os.path 
>>> print os.path.dirname("C:\Users\myFile.txt") 
C:\Users 
>>> print os.path.dirname(os.path.dirname("C:\Users\myFile.txt")) 
C:\ 

像這樣。

+2

但是,這隻有當該路徑不結束與一個「/」 – Awsed 2015-09-17 13:07:17

8

您還可以使用os.path.split,這樣

>>> import os 
>>> os.path.split('product/bin/client') 
('product/bin', 'client') 

它拆分路徑分爲兩個部分,並在一個元組返回它們。您可以在指定變量的值,然後使用它們,這樣

>>> head, tail = os.path.split('product/bin/client') 
>>> head 
'product/bin' 
>>> tail 
'client' 
相關問題