@python_beginnersЭта группа больше не существует

Страница 46 из 1885
Kill me pls
12.06.2016
19:07:18
Нужно удалить лишние и сделать чтобы был один столбец

Есть решение?

Zart
12.06.2016
19:08:01
обычный способ - конверсия в сет и обратно в лист, но это херит порядок

Kill me pls
12.06.2016
19:08:18
Порядок потом привести сортировкой можно

Google
Kill me pls
12.06.2016
19:08:21
Это не важно.

Zart
12.06.2016
19:08:28
если оригинальный порядок важен, тогда цикл

Janek
12.06.2016
19:08:36
Через фор

Zart
12.06.2016
19:08:38
list(sorted(set(l)))

Kill me pls
12.06.2016
19:08:44
А полный код?

Andrey
12.06.2016
19:10:07
А полный код?
Это полный код.

Zart
12.06.2016
19:10:27
output = [] seen = set() for item in mylist: if item not in seen: output.append(item) seen.add(item)

если через цикл, а не сет

Kill me pls
12.06.2016
19:10:48
А как применять? Допустим нужен файл "1" в папке /home

Zart
12.06.2016
19:11:05
по поводу регэкспов - их много разных типов

Andrey
12.06.2016
19:11:10
А как применять? Допустим нужен файл "1" в папке /home
Открываешь файл, читаешь, обрабатыываешь, записываешь.

Zart
12.06.2016
19:12:13
если операции над файлами, то можно банальным сорт+уник обойтись

Марк
12.06.2016
19:13:05
Нет) Это технология.

Google
Zart
12.06.2016
19:13:13
регулярные выражения - это один из алгоритмов обработки строк

Kill me pls
12.06.2016
19:13:46
bash: output: command not found bash: scrypt.py: line 2: syntax error near unexpected token `(' bash: scrypt.py: line 2: `seen = set()'

Zart
12.06.2016
19:13:46
а модуль ре - лишь один из его реализаций

а зачем ты суешь башу питоний код?

Kill me pls
12.06.2016
19:16:02
Марк
12.06.2016
19:16:03
И еще он вроде как до конца не совместим с POSIX

Zart
12.06.2016
19:16:20
забудь про позикс

Марк
12.06.2016
19:16:49
Ч0 это я должен за него забыть?

Zart
12.06.2016
19:17:08
потому что в большинстве случаев оно бесполезное

Марк
12.06.2016
19:17:20
ога. grep -P бесполезное. Да

Zart
12.06.2016
19:17:25
даже в позиксе 2 или 3 варианта регэкспов

никогда в жизни не пользовался grep -P

-E хватает за глаза

Марк
12.06.2016
19:18:27
Я вот пользовался. Так как -Е не хватало

Zart
12.06.2016
19:18:47
ну вот ты уже знаешь что у гну грепа есть -G, -E, -P

далеко не во всех юниксах гнутный греп

Марк
12.06.2016
19:19:23
Я в бубунтах.

Zart
12.06.2016
19:19:46
сочувствую твоему горю

BUGS Having two kinds of REs is a botch.

Марк
12.06.2016
19:20:13
проблема grep -E в том, что оно не понимает нормально квантификаторы

Google
Zart
12.06.2016
19:20:22
цитата из regex(7)

Марк
12.06.2016
19:20:41
Не, можно perl юзнуть, но демонов не нужно суммонить

Zart
12.06.2016
19:21:20
а в питоне вообще свои регэкспы, перл-лайк, но ни разу не pcre

плюс re достаточно кривой, когда речь идёт о серьезной работе с юникодом

Марк
12.06.2016
19:22:07
Да, я уже пяток раз обосрался, пытаясь с перла вытащить привычное на пайтон. От чего у меня пердак пару районов обогревал

Zart
12.06.2016
19:22:41
имхо полновесные перловые регэкспы с бактрейсом не нужны

на питоновом ирц канале как-то летала охуительнейшая ссылка про реализацию замены регэкспа, работавшую на несколько порядков(!) быстрее

Марк
12.06.2016
19:24:48
Может помнишь, был в пайтоновской группе день регекспоебаства, где народец решал весь день задачки с того сайта, что я скинул. Вот там оказались нужны. И потом еще выяснилось, что модуль re все конструкции не поддерживает

Zart
12.06.2016
19:25:05
а в питоне вообще свои регэкспы, перл-лайк, но ни разу не pcre

"все конструкции" чего?

Марк
12.06.2016
19:25:42
Чет вроде "?>" типо такого.

Традиционные регекспы основаны на работе конечных автоматов. Есть еще другие реализации.

Марк
12.06.2016
19:26:56
В книге О` Релли по регекспам вконце рассказывается об альтернативах, но я забил читать

Zart
12.06.2016
19:26:58
о, вспомнил

https://swtch.com/~rsc/regexp/regexp1.html

вот как раз про то, что ранние реализации использовали конечные автоматы, но потом перестали

ERE в гавке как видно по приведенным графикам как раз конечные автоматы и юзают

если же говорить о питоне, то in, find, replace, (r)partition, (r)split и слайсы - на порядок быстрее регэкспа для тривиальной обработки

если же нужна сложная обработка юникода - лучше сразу брать https://pypi.python.org/pypi/regex

Google
Марк
12.06.2016
19:34:26
если же говорить о питоне, то in, find, replace, (r)partition, (r)split и слайсы - на порядок быстрее регэкспа для тривиальной обработки
а вот тут интересно. Когда мне пришлось парсить не так давно совсем пиздецовое дерьмо, меня дико кумарило количество разнообразных функций в пайтоне. Я никак не мог это пояснить, кроме дебилизма, мол, да сделали бы уже одну общую функцию с паком флагов, че за..??! А теперь становится более менее понятно

Zart
12.06.2016
19:35:09
чо

нахуя такая функция нужна?

Марк
12.06.2016
19:35:48
Перл-вей

Zart
12.06.2016
19:35:54
если сильно хочется - можешь считать такой "функцией" модуль string...

в большинстве языков обычно есть свои наборы функций для работы со строками

обычно это поиск подстроки, вычленение кусков строк, склейка, повторы, конверсия, форматирование

питон изначально использовал модуль стринг для этого, но потом быстро перенесли всё это в методы строкового типа

Admin
ERROR: S client not available

Марк
12.06.2016
19:40:06
Кстати, в пайтоне есть какой-то лаконичный вариант аналога "="x100 перла?

Zart
12.06.2016
19:40:18
'='*100

$ python1.0 Python 1.0.1 (Mar 21 2014) Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam >>> dir('') Traceback (innermost last): File "<stdin>", line 1 TypeError: dir() argument must have __dict__ attribute >>> ''.lower Traceback (innermost last): File "<stdin>", line 1 TypeError: attribute-less object

Марк
12.06.2016
19:41:33
Блеать? Так просто. А я долго искал

Думал, как-то в format надо засовывать

Zart
12.06.2016
19:43:06
можно через формат, указав ширину поля, символ заполнения, и выводя ''

но это несколько геморройно

хм... в питоне 1.5 у строк еще методов не было а в 1.6 уже есть

Марк
12.06.2016
19:44:33
Некрофил

Zart
12.06.2016
19:44:47
порой интересно отследить когда та или иная фича появилась в языке

а порой это нужно чтобы быть уверенным что твой код будет поддерживаться на нужной версии

Google
Марк
12.06.2016
19:45:37
У чувака вчера код на 2.7 поехал в 16.04 бубунте на urlib2

Но он спать пошел, так что не до конца ясно. Мож сам затупил

Если есть 16 ЛТС могу закинуть

Zart
12.06.2016
19:46:32
а причем тут вообще убунта?

Марк
12.06.2016
19:47:08
В 16 по умолчанию тройка пайтона идет, если не ошибаюсь. Мб чет косо запустил

Zart
12.06.2016
19:47:37
везде python ссылается на второй, кроме маргиналов, в роже арча

Марк
12.06.2016
19:48:34
File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python2.7/urllib2.py", line 429, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 447, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1228, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1201, in do_open r = h.getresponse(buffering=True) File "/usr/lib/python2.7/httplib.py", line 1136, in getresponse response.begin() File "/usr/lib/python2.7/httplib.py", line 453, in begin version, status, reason = self._read_status() File "/usr/lib/python2.7/httplib.py", line 417, in _read_status raise BadStatusLine(line) httplib.BadStatusLine: ''

http://pastebin.com/MbNbW2g0

Сам код

У мну на 14 бубунте ездит

Zart
12.06.2016
19:49:29
трейсбак ни о чем не говорит интересном

а паста протухла

[root@ene ~]# docker images ubuntu | head REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docker.io/ubuntu xenial d53d8719646f 3 months ago 118.7 MB docker.io/ubuntu xenial-20160303.1 d53d8719646f 3 months ago 118.7 MB docker.io/ubuntu 16.04 d53d8719646f 3 months ago 118.7 MB docker.io/ubuntu wily-20160302 3c751ae18eea 3 months ago 135.8 MB docker.io/ubuntu 15.10 3c751ae18eea 3 months ago 135.8 MB docker.io/ubuntu wily 3c751ae18eea 3 months ago 135.8 MB docker.io/ubuntu trusty-20160302 56063ad57855 3 months ago 187.9 MB docker.io/ubuntu 14.04.4 56063ad57855 3 months ago 187.9 MB docker.io/ubuntu latest 56063ad57855 3 months ago 187.9 MB

я подозреваю что проблема в сервере, который возвращает 100

Марк
12.06.2016
19:53:21
Бля. Карочи, там обычный код с urlib2/urlopen(url)

try: download = urllib2.urlopen('http://www.python.org/') except Exception as e: print e

Это я уже try докидывал

Но у мну всё ровно. Его код от 2014

Кароч, я ебал пересаживаться на 16 в ближайший год

Zart
12.06.2016
20:00:14
root@124c5bf9e238:/# cat /etc/os-release NAME="Ubuntu" VERSION="16.04 (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" UBUNTU_CODENAME=xenial root@124c5bf9e238:/# python2.7 -c "import urllib2; urllib2.urlopen('http://www.python.org/')" Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python2.7/urllib2.py", line 435, in open response = meth(req, response) File "/usr/lib/python2.7/urllib2.py", line 548, in http_response 'http', request, response, code, msg, hdrs) File "/usr/lib/python2.7/urllib2.py", line 467, in error result = self._call_chain(*args) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 654, in http_error_302 return self.parent.open(new, timeout=req.timeout) File "/usr/lib/python2.7/urllib2.py", line 429, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 447, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1241, in https_open context=self._context) File "/usr/lib/python2.7/urllib2.py", line 1198, in do_open raise URLError(err) urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

Страница 46 из 1885

Эта группа больше не существует Эта группа больше не существует