2015-05-28 183 views
-1

我有一個文件是通過使用pickAFile()當我從這個代碼打印文件file = pickAFile()我得到這個「C:\ Users \ jake \ Documents \ files \ DataFiles \ pandas 。文本」。如何刪除文件路徑但保留文件名? IE我想保留字符串中的「pandas.txt」,但是之前的所有內容我都不需要。使用pickAFile刪除文件路徑,但保留文件名Python

注:我希望能夠爲不同名稱的長度文件,並且無需使用導入的庫

回答

1
print r"C:\Users\jake\Documents\files\DataFiles\pandas.txt".split("\\")[-1] 
print r"C:\Users\whom\content.bmp".split("\\")[-1] 
print r"C:\Users\jake\Documents\cats.txt".split("\\")[-1] 

你提的問題是非常不清楚我以爲這是你想要的東西做到這一點。 在這種情況下,如果不使用任何模塊,可以將字符串拆分爲普通分隔符。 .split("\\")會將\字符上的字符串拆分爲需要轉義的字符,否則將逃避收盤報價。 [-1]將得到剛剛創建的列表的最後一個元素。

>>> pandas.txt 
>>> content.bmp 
>>> cats.txt 

爲了讓事情變得更容易考慮把它在一個函數或合併其與已經存在的功能

def f(string, ifs="\\"): 
    return unicode(string).split(ifs)[-1] 

print f("A\B\C\D\E") 
>>> E 
print f("A/B/C/D/E",ifs="/") 
>>> E 
+0

您好,感謝回答!是的,這就是我想要做的。所以我不想把字符串輸入到你放在那裏的代碼中,是否有可能讓它取代文件而不是輸入那裏的字符串?類似於'print rFile.split(「\\」)[ - 1]'其中file是字符串? – Takhata101

+0

這是非常令人困惑的。但是如果你的意思是'pickAFile()'返回一個字符串。你將不得不做'print f(pickAFile())'。 – Katpoes

相關問題