Добрый день.
Не как не могу понять как составить регулярное выражение которое вернет имя файла.
Т.е. есть путь /home/test/soft/print.sh
как получить в переменную print.sh?
>>> reg=re.compile("\S+/(.+)") >>> reg.match("/home/test/soft/print.sh").group(1) 'print.sh' >>> os.path.basename("/home/test/soft/print.sh") 'print.sh' >>>
darksmoke
как составить регулярное выражение
re.search(r'/(.*)$', s)
>>> re.search(r'/(.*)$', "/home/test/soft/print.sh").group() '/home/test/soft/print.sh' >>>
>>> import re >>> >>> s = 'abc/def/abc/file.txt' >>> re.search(r'[^/]*$', s).group() 'file.txt' >>>
NataПути могут быть с пробелами.reg=re.compile("\S+/(.+)")
py.user.nextда, верно
Пути могут быть с пробелами.
>>> reg=re.compile(".*/(.+)") >>> re.search(reg, "/home/test/soft ware/print.sh").group(1) 'print.sh' >>>

>>> st = "/home/test/soft/print.sh" >>> st.rsplit('/')[-1] print.sh
bs0dТак а зачем делить по всем слешам? Нужно один раз отделить. :)st.rsplit('/')[-1]
NataНу, не факт, надо сначала сравнить по времени и памяти.
Ваш все равно лучше…