kaynak Luke kullanın:
def basename(p):
"""Returns the final component of a pathname"""
i = p.rfind('/') + 1
return p[i:]
Edit açıklama için (tepki):
URL'ler için kaza ile çalışıyor, işte bu. Bu nedenle, davranışını sömüren, bazıları tarafından kod kokusu olarak kabul edilebilir. o (geçirilen yol url değilse kontrol edin) "düzeltmek" için çalışıyorum
da şaşırtıcı zordur
www.google.com/test.php
[email protected]/12
./src/bin/doc/goto.c
yüzden http:/hello.txt
(biridir aynı saatin doğru yol adlarının ve URL'ler (göreceli) altındadır/ve sadece linux üzerinde ve bu biraz aptal :)). Mutlak URL'ler için "düzeltebilirsin", ancak göreceli olanlar hala işe yarayacak. Bir özel durumu farklı olarak ele almak, piton dünyasında büyük bir hayır değildir.
O Özetle: ithalat bu
Açıklama: Neden/neden/nasıl çalıştığını sormuyorum (kaynak kodun açık bir şekilde gideceği yol); bunun yerine neden çalışmalıyım diye soruyorum (özellikle de politika - özellikle Windows '\' yol ayırıcıdır) –
Microsoft OS'leri, 'Dos 3''ten bir yol ayırıcı olarak'/'iletisini kabul eder. Komut satırı seçeneği bayrak gösterimi ile çeliştiği için komut gövdesi tarafından devre dışı bırakıldı (artık değil). Bu yüzden birçok uygulama sadece '/' nin geçerliliğinin farkında değildir. Python görünüşe göre. Ayrıca, eğik çizgileri '\\? \' 'Önekiyle kullanamazsınız. http://bytes.com/topic/python/answers/23123-when-did-windows-start-accepting-forward-slash-path-separator ve http://msdn.microsoft.com/en-us/library kaynakları /aa365247(VS.85).aspx#paths – n611x007