В Python многие операции выполняются с использованием списков. Упомянутый Sebasian Dietz модуль urlparse вполне может решить вашу конкретную проблему, но если вы, как правило, заинтересованы в Pythonic способах поиска слешей в строках, например, попробуйте что-то вроде этого:
url = 'http://example.com/random/folder/path.html'
# Create a list of each bit between slashes
slashparts = url.split('/')
# Now join back the first three sections 'http:', '' and 'example.com'
basename = '/'.join(slashparts[:3]) + '/'
# All except the last one
dirname = '/'.join(slashparts[:-1]) + '/'
print 'slashparts = %s' % slashparts
print 'basename = %s' % basename
print 'dirname = %s' % dirname
Вывод этой программы такой:
slashparts = ['http:', '', 'example.com', 'random', 'folder', 'path.html']
basename = http://example.com/
dirname = http://example.com/random/folder/
Интересными битами являются split
, join
, массив обозначений срезов [A: B] (включая отрицательные значения для смещений от конца) и, в качестве бонуса, оператор %
для строк в дать форматирование в стиле printf.