Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2012 20:22:17

webstghost
Зарегистрирован: 2012-06-02
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

Как лучше убрать замыкающий ‘/’ в url, если он существует?

Офлайн

#2 Июнь 22, 2012 20:31:28

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

[url, url[:-1]][url.endswith('/')]



Офлайн

#3 Июнь 22, 2012 20:59:47

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

Ed, o_O

url.endswith('/') and url[:-1] or url

>>> [1, 2][True]
2
>>> [1, 2][False]
1
bzzz…

Ну и скучный вариант:
url.rstrip('/')



Отредактировано fata1ex (Июнь 22, 2012 21:13:32)

Офлайн

#4 Июнь 23, 2012 11:37:38

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

А так что плохо ? [code python]if url[-1] == "/": url = url[:-1][/code]

Отредактировано Singularity (Июнь 23, 2012 11:41:39)

Офлайн

#5 Июнь 23, 2012 12:13:25

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

У fata1ex 2-й вариант самый читаемый и понятный даже не питонистам :)



Отредактировано Lexander (Июнь 23, 2012 12:14:11)

Офлайн

#6 Июнь 23, 2012 12:22:57

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Убрать замыкающий '/'

>>> url = ''
>>> if url[-1] == "/":
... url = url[:-1]
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range

Офлайн

#7 Июнь 23, 2012 13:07:07

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

lorien: ну плюс одна проверка на соответствия None , но это ведь лучше чем спрашивать на форуме. Хотя да докa рулит

Офлайн

#8 Июнь 23, 2012 13:13:34

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Убрать замыкающий '/'

ну плюс одна проверка на соответствия None
Не надо ничего проверять, надо rstrip использовать.

Офлайн

#9 Июнь 23, 2012 13:14:18

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Убрать замыкающий '/'

Кстати if url == ‘/’ более питонично записывается так: if url.endswith('/')

Офлайн

#10 Июнь 24, 2012 05:50:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Убрать замыкающий '/'

а какой смысл оставлять предпоследние слеши ?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version