@ru_python

Страница 696 из 9768
[Anonymous]
08.05.2016
23:32:38
Не понял. У меня есть строка pic.jpg я сравниваю её с .*\.jpg Почему не сработает?

[Anonymous]
08.05.2016
23:35:08
Потому что "pic.jpg" != ".*\.jpg".

[Anonymous]
08.05.2016
23:35:54
Строки не сравниваются чтоли?

Mikhail
08.05.2016
23:36:14
строки какраз и сравниваются

Google
Mikhail
08.05.2016
23:38:38
тебе же написали, надо ``` import re; re.match(r“.*\.jpg”, “pic.jpg”) ```

блин не экранируется нормально кодом строка

[Anonymous]
08.05.2016
23:39:52
Я понял, что так. Я не понял своей ошибки.

Aragaer
08.05.2016
23:40:43
== и != это сравнение. Когда речь идет о регекспах, то используется термин "сопоставление"

[Anonymous]
08.05.2016
23:40:49
Твоя ошибка в том, что ты не видишь разницы между строкой и выражением.

Aragaer
08.05.2016
23:41:06
для сопоставления строки с регекспом используется функция match из пакета re

строка не равна регекспу, но она ему может соответствовать. В этом случае re.match вернет истину

Mikhail
08.05.2016
23:42:37
ну не истину а объект матча

[Anonymous]
08.05.2016
23:42:38
Вот теперь понял, спасибо.

Mikhail
08.05.2016
23:43:20
в котором уже будут группы матчей

Aragaer
08.05.2016
23:43:26
да, в питоне с объектами

... в перле оно все значительно плотнее интегрировано

Google
Mikhail
08.05.2016
23:44:22
а у меня почему-то нет

Aragaer
08.05.2016
23:45:10
если просто скопипастить, то да 8)

ибо кавычки

[Anonymous]
08.05.2016
23:45:36
пробел потерял кажется

Mikhail
08.05.2016
23:45:36
ну я ж написал что не получается обернуть( хз почему

Aragaer
08.05.2016
23:45:46
нет

телеграм поменял кавычки на красивые

завернутые в разные стороны

[Anonymous]
08.05.2016
23:46:23
?

Aragaer
08.05.2016
23:46:55
import re; re.match(r".*\.jpg", "pic.jpg")

вот, надо в несколько строк

[Anonymous]
08.05.2016
23:47:33
И что мне теперь с этим делать? Он мне строчку целую возвращает, а мне True нужно)

Aragaer
08.05.2016
23:48:23
если нет соответствия, вернет None

если есть, вернет объект

так что if match is not None

но ваще для такого конкретного случая регекспы не нужны, в питоне есть endswith

Artem
08.05.2016
23:56:13
Aragaer
09.05.2016
00:07:30
еще и концовка в тему

[Anonymous]
09.05.2016
00:15:11
Кто-нибудь пнёт меня за код?

finkel
09.05.2016
00:18:11
ну оно стоит того
мне как то 15ки больше по душе)

Google
Ivan
09.05.2016
00:18:55
if 'jpg' == i[-3:]

я бы так делал)

[Anonymous]
09.05.2016
00:19:15
Ты жёсткий.

Очень.

Aragaer
09.05.2016
00:19:18
[Anonymous]
09.05.2016
00:19:31
Я только первый раз за питон сел

Sergey
09.05.2016
00:19:36
а что не так с i.endswith(".jpg") ?

Alex
09.05.2016
00:19:38
мне как то 15ки больше по душе)
они большие и тяжелые

Mikhail
09.05.2016
00:19:38
VID_FILE = [] зачем след строчкой брать его длинну

14 строчка всегда 0

Alex
09.05.2016
00:19:56
впрочем, мб в корпусе 15 был бы няшкой

finkel
09.05.2016
00:20:06
[Anonymous]
09.05.2016
00:20:12
Mikhail
09.05.2016
00:20:19
я понимаю

но 14 строка всегда 0

[Anonymous]
09.05.2016
00:20:53
если лист будет наполнятся, то не изменится?

В конец перенесу

Mikhail
09.05.2016
00:21:05
а с чего бы ей изменяться

это не С++ тут нет указателей на функцию

если лямбдой сделаешь то будет примерно что ты хочешь

Google
Aragaer
09.05.2016
00:21:41
ващет есть

TOR_N = TOR_FILES.__length__

Mikhail
09.05.2016
00:22:15
нууу это объекты

Aragaer
09.05.2016
00:22:17
TOR_N()

Mikhail
09.05.2016
00:22:30
а не указатели в явном виде

тоесть поведение указателя отличается, если сделать же a = files.__length__ ; b= files.__length__ , после чего модифицировать а, b то не изменится

Aragaer
09.05.2016
00:23:46
ну в смысле любой callable является объектом

Admin
ERROR: S client not available

Mikhail
09.05.2016
00:23:50
ну да

Aragaer
09.05.2016
00:24:04
__length__ это метод, а не поле

Mikhail
09.05.2016
00:24:28
я понимаю

Aragaer
09.05.2016
00:24:49
callable является объектом, и бывают bound methods, которые "методы в привязке к объекту"

[Anonymous]
09.05.2016
00:25:09
Давайте я позже ооп выучу

Aragaer
09.05.2016
00:25:17
но нет частичного вычисления как в языке-который-нельзя-называть

Mikhail
09.05.2016
00:25:49
зачем тебе регулярки

Aragaer
09.05.2016
00:26:06
return re.match is not None

но я третий раз скажу - endswith

[Anonymous]
09.05.2016
00:26:37
Он у меня не заработал в ide

Mikhail
09.05.2016
00:26:38
if i.endswith(‘jpg’) or i.endswith(‘png’)

[Anonymous]
09.05.2016
00:26:48
А значит я не понял как его использовать

Google
Mikhail
09.05.2016
00:26:48
ну погугли чтоб заработал камон

Aragaer
09.05.2016
00:27:01
.jpg да

Sergey
09.05.2016
00:27:55
еще .tolower() чтоб работало с .JPG .PNG

Aragaer
09.05.2016
00:28:03
endswith это метод у объекта класса "строка", который принимает аргументом вторую строку (суффикс) и возвращает истину, если данная строка на нее заканчивается и ложь в противном случае

Mikhail
09.05.2016
00:28:21
да про tolower это хорошо

Aragaer
09.05.2016
00:28:27
а еще лучше list comprehension же 8)

Mikhail
09.05.2016
00:28:53
неее

endswith потом можно в map обернуть если будет много раширени

Sergey
09.05.2016
00:29:24
PIC_FILE = [x for x in WORK_FILES if x.tolower().endswith(".jpg") or x.tolower().endswith(".png")]

Mikhail
09.05.2016
00:29:29
добавить там jpeg , jpg200 и тд

Aragaer
09.05.2016
00:29:37
и густо обмазать лямбдами

Mikhail
09.05.2016
00:30:01
именно

Aragaer
09.05.2016
00:30:43
ох

if i.endswith(f): return Trueпросто return f.endswith(i)

и ваще, ты f передаешь в функцию, а i почему-то нет

и кавычки

функции это не макросы

Mikhail
09.05.2016
00:32:09
any(map(lambda x: f.endswith(x), x))

Страница 696 из 9768