@ru_python

Страница 5993 из 9768
Just
21.07.2018
19:32:17
@Savvasenok

Mark
21.07.2018
19:32:20
Чуваки, что там за тема с None и gc?

Savva
21.07.2018
19:32:24
нет, по видеоурокам пробовал

маленькие инди игры получались

Google
Savva
21.07.2018
19:32:52
но на большее я не пытался, из за нехватки знаний

Denis
21.07.2018
19:32:58
Чуваки, что там за тема с None и gc?
По None пеп новый обсуждают, с gc все так же

Mark
21.07.2018
19:33:38
По None пеп новый обсуждают, с gc все так же
Так же это как? А то у Светлова выхватил намек, но пока не вьехал.

Denis
21.07.2018
19:33:50
А что-то поменялось?

Mark
21.07.2018
19:34:13
Я не знаю, что с None c gc

Поэтому и спрашиваю

Denis
21.07.2018
19:34:54
gc не собирает None, пока программа работает, очевидно

Mark
21.07.2018
19:36:01
Типо на него всегда есть одна ссылка?

Или это исключением?

Denis
21.07.2018
19:36:32
Хотя бы одна всегда есть, да

Может и захардкожено, но это не так важно

Mark
21.07.2018
19:37:12
А то как раз вожусь с мемори лик при пулах и sync_map. Приходится все перечитывать внимательно

Denis
21.07.2018
19:37:38
Это синглтон, он не может ликать

Google
Mark
21.07.2018
19:50:35
Это синглтон, он не может ликать
Кстати, читал статью, как чуваки в инсте gc тюнили и получили 10% профит?

Denis
21.07.2018
19:50:54
Ну, его можно тупо отключить

Mark
21.07.2018
19:51:33
Тупо отключить у них не вышло, если говорить о дисаблед.

Подключенные модули вполне могут юзать коллект на тупом и в ус не дуть

Они вырубили через трешхолд по итогу, и то через кучу исследовательской возни

Евгений
21.07.2018
19:54:15
Что с этими регулярками не так???!?!?!?

Fenicu ☁️♒️
21.07.2018
19:55:34
всё с ними хорошо

Евгений
21.07.2018
19:56:31
всё с ними хорошо
У меня щас очко сгорит, щас я попробую тест програмку сделать, вам отправить...

Fenicu ☁️♒️
21.07.2018
19:57:28
ну тут 2 варианта. 1. руки из того самого 2. руки из того самого Читайте доку, смотрите примеры

Mark
21.07.2018
19:57:55
всё с ними хорошо
за исключением, что какой-нибудь re нихуя не PCRE.

Fenicu ☁️♒️
21.07.2018
19:58:36
это очень деликатная проблема)

это как ты снял шлюху, но тебе никто не сказал, что это будет ОН

Евгений
21.07.2018
20:00:01
ну тут 2 варианта. 1. руки из того самого 2. руки из того самого Читайте доку, смотрите примеры
Чекай import re path = "/foo/fu" make = "gcc /foo/fu/bar.c -I /foo/fu/includes" rx = re.compile(path+".*?(\s|$)") print(rx.findall(make))

Должен вывести эти два пафа, /foo/fu/bar.c и /foo/fu/includes

А выводит [' ', '']

Fenicu ☁️♒️
21.07.2018
20:01:38
действительно

чё это он

Aragaer
21.07.2018
20:03:30
\ забыл заэкранировать

у тебя там не r'', а просто двойные кавычки, а в них \ надо эскейпить

Google
Евгений
21.07.2018
20:04:20
Я уже все варики перепробовал, что-то с долларом не так

rx = re.compile(path+r".*?( )") [' ']

Если скобки убрать, то всё ок

Евгений
21.07.2018
20:07:42
Вот именно, что там работает, а в питоне - нет

Проверял в Python 3.3 и в Python 3.7, Windows



Пожалуйста ❤️

Маришка
21.07.2018
20:15:34
Ну оно и не будет матчить. Потому что findall возвращает заматченные группы.

если оные присутствуют

А в группе у тебя либо знак доллара, либо знак whitespace'а

Маришка
21.07.2018
20:16:24
возьми non-capturing group

(?:\s|$)

Ляман
21.07.2018
20:17:21
Можно сделать так чтобы я делал через API телеграмм запрос на номер телефона и мне возращало есть ли пользователь в телеграмме и когда был последний раз ??

Маришка
21.07.2018
20:18:20
Пожалуйста ❤️
C:\Users\Meow>py -3 Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import re >>> path = '/foo/fu' >>> s = 'gcc /foo/fu/bar.c -I /foo/fu/includes' >>> r = re.compile(path + r'.*?(?:\s|$)') >>> r.findall(s) ['/foo/fu/bar.c ', '/foo/fu/includes'] >>> Пожалуйста ❤️

Маришка
21.07.2018
20:19:17
Я только что объяснила...

findall возвращает группы, если они есть. в группе у тебя \s который будет матчить любой вейтспейс

В итоге тебе и возвращаются пробел и конец строки из фуллматча

Google
Маришка
21.07.2018
20:20:11
если ты хочешь без групп то почему бы не взять это в квадратные кавычки

Aragaer
21.07.2018
20:20:43
потому что $ в квадратных скобках это не то

ну кстати можно просто матчить \>

хотя оно может на / сматчиться...

а можно матчить не .*? а \S*

кстати

Евгений
21.07.2018
20:23:17
Admin
ERROR: S client not available

Евгений
21.07.2018
20:23:23
Aragaer
21.07.2018
20:24:00
но должен сказать, что сам подход тут неверен

и надо брать shlex и смотреть startswith

Maxim
21.07.2018
20:24:40
закину свои 5 копеек

Евгений
21.07.2018
20:24:40
и надо брать shlex и смотреть startswith
Ой я ненавижу этот шлакс, он на 3.3 не работает корректно, да и на 3.7 тоже

Maxim
21.07.2018
20:25:15
закину свои 5 копеек
собираю регулярочки тут

https://regex101.com/

очень удобно

Евгений
21.07.2018
20:25:34
https://regex101.com/
Он работал, но в питоне не работал, читай выше

Maxim
21.07.2018
20:25:41
а

Google
Maxim
21.07.2018
20:25:43
фига

Aragaer
21.07.2018
20:25:46
>>> import shlex >>> s = 'gcc /foo/fu/bar.c -I /foo/fu/includes' >>> shlex.split(s) ['gcc', '/foo/fu/bar.c', '-I', '/foo/fu/includes'] >>> [x for x in shlex.split(s) if x.startswith('/foo/fu')] ['/foo/fu/bar.c', '/foo/fu/includes']

плюс шлекса перед просто сплитом в том, что если будет gcc "my file.c", то будет все ок

Евгений
21.07.2018
20:26:38
>>> import shlex >>> s = 'gcc /foo/fu/bar.c -I /foo/fu/includes' >>> shlex.split(s) ['gcc', '/foo/fu/bar.c', '-I', '/foo/fu/includes'] >>> [x for x in shlex.split(s) if x.startswith('/foo/fu')] ['/foo/fu/bar.c', '/foo/fu/includes']
Я просто заранее готовлюсь к тому, что мою спеку эта пизда не одобрит и заставит парсер xml на баше написать, вот и учу регулярки

Про группы вроде понял но не понял

Он group 0 берёт или чё?

Aragaer
21.07.2018
20:27:14
если учишь регулярки, обязательно освой термин "capture group"

круглые скобки это группа. Нулевая группа это все, что сматчилось

регулярки без захвата это недорегулярки

Евгений
21.07.2018
20:29:13
круглые скобки это группа. Нулевая группа это все, что сматчилось
Так а почему findAll не оч работает, а finditer нормас?

findall возвращает группы, если они есть. в группе у тебя \s который будет матчить любой вейтспейс

В итоге тебе и возвращаются пробел и конец строки из фуллматча

Т.е. я должен был это всё в '('+s+'\S*( |$))'

Aragaer
21.07.2018
20:32:35
s='gcc /foo/fu/bar.c -I /foo/fu/includes' tokens=($s) for tok in ${tokens[*]}; do if [[ $tok == /foo/fu* ]] ; then echo $tok ; fi ; done

нинадарегулярки

Евгений
21.07.2018
20:33:04
фу, баш

Aragaer
21.07.2018
20:33:10
надо сплит, а потом сравнение начала

Евгений
21.07.2018
20:33:57
Блин, только самые лучшие люди сидят в телеге, люблю вас ❤️

SERH39
21.07.2018
20:38:00
Ребят, дайте три токена пж ?

Denis
21.07.2018
20:38:42
jwt?

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