
Denis
26.12.2016
16:34:42
Тем более ты сам сделал .list()
Возможно, там есть другие методы

Octo@dshacks
26.12.2016
16:35:34

Denis
26.12.2016
16:35:49
Ну сам словарь сделай

Google

Daniel
26.12.2016
16:53:23

Pavel
26.12.2016
16:57:48

Petr
26.12.2016
17:45:59
ip_info = dict(zip(map(lambda key : key.lower().replace(' ', '_') ,ip_info[::2]), ip_info[1::2])) нужно такую дичь разделять на простые действия или это терпимо?

Denis
26.12.2016
17:47:00
Если вынести в функцию и понятно назвать, сойдет

Petr
26.12.2016
18:02:32
def get_ip_geoinfo(ip_address):
try:
r = requests.get('https://geoiptool.com/en/?ip={}'.format(ip_address))
except requests.exceptions:
raise PageLoadingError from None
soup = BeautifulSoup(r.text, "html.parser")
try:
data = soup.find('div', {'class':'sidebar-data hidden-xs hidden-sm'}).findAll('span')
except:
raise PageParsingError from None
data = list(map(lambda item : item.getText().strip().strip(':'), data))
keys = map(lambda key : key.lower().replace(' ', '_'), data[::2])
return dict(zip(keys, data[1::2])) потянет на норм функцию?

Denis
26.12.2016
18:03:00
А зачем from None?
Дебажить же сложнее

Zart
26.12.2016
18:03:28

Petr
26.12.2016
18:04:17

Denis
26.12.2016
18:04:53
И просто except писать не очень хорошо, потому что ловится KeyboardInterrupt

Petr
26.12.2016
18:06:42
У beautifulsoup нету своих исключений как у requests, поэто пришлось так
поэтому*

Zart
26.12.2016
18:07:22
except Exception:

Google

Petr
26.12.2016
18:08:15
точн не наследуется же
системные всяякие

Zart
26.12.2016
18:24:05
неа. магия итерации

Евгений
26.12.2016
18:24:18
Народ, подскажите пожалуйста.
Есть тесктовый файл, есть список строчек (в том числе строчки содержащие регулярные выражения). нужно сравить.
Делаю так:
opt_list = list()
opt_list.append('.*string1.*')
opt_list.append('.*string2')
for cur_opt in opt_list:
if re.match(cur_opt, f_content, re.MULTILINE|re.DOTALL) is not True:
print cur_opt
не работает :(

Zart
26.12.2016
18:25:09
а накой оно такое?

Denis
26.12.2016
18:25:52
Нах все пишут is True?

Petr
26.12.2016
18:27:02
типо тернарный оператор, все дела

Denis
26.12.2016
18:27:20
Што

Petr
26.12.2016
18:27:21
хотя он по другому пишется (

Zart
26.12.2016
18:27:54
за is not True надо бить по рукам линейкой, да.
if not x:

Petr
26.12.2016
18:28:44
натури, прикольный способ

Janek
26.12.2016
18:28:51
Ну а чем не тру плох?
Я то его не использую, но все же

Zart
26.12.2016
18:29:09
тем что is тест для него не очень удачен в общем случае

Janek
26.12.2016
18:29:59
Ну понял теперь

Petr
26.12.2016
18:30:04
is для None норм вроде

Janek
26.12.2016
18:30:27
==

Zart
26.12.2016
18:30:41
для None да

Google

Janek
26.12.2016
18:31:00
Слушай а 0 is None?

Denis
26.12.2016
18:31:08
Никак нет

Janek
26.12.2016
18:31:20
А 0== None?

Zart
26.12.2016
18:31:35
нет

Janek
26.12.2016
18:32:04
И фолз не нан
?

Denis
26.12.2016
18:32:50
Ничто не нан, кроме нан

Zart
26.12.2016
18:33:01
что вы курите там

Denis
26.12.2016
18:33:14
Зеленый чай

Janek
26.12.2016
18:33:17
Лол
Я знаю про нан
Я просто так спрашиваю

Denis
26.12.2016
18:34:01
Вообще есть два нана, None и NaN

Janek
26.12.2016
18:34:10
Я про первый
Теперь вопрос на засыпку: пустой список Нан?

Denis
26.12.2016
18:34:59
Нан только сам нан и 1337

Janek
26.12.2016
18:35:30
Понял

Zart
26.12.2016
18:36:27
кто-то путает None с False?

53r63rn4r
26.12.2016
18:37:51
0 фолс, позитивное число тру

Denis
26.12.2016
18:38:22
Негативное число тоже тру

Google

Zart
26.12.2016
18:38:52
ненулевое комплексное тоже тру
непустой список тру

Евгений
26.12.2016
18:39:45

Zart
26.12.2016
18:39:47
непустой дикт тру. непустая строка тру. произвольный объект тру, если не переопределен __nonzero__ (py 2.x) / __bool__ (py 3.x)
https://docs.python.org/3/library/stdtypes.html#truth-value-testing
рекомендую сравнить с другими языками, результаты веселые

Какао
26.12.2016
18:42:35

Zart
26.12.2016
19:02:22
и лен

Admin
ERROR: S client not available

Octo@dshacks
26.12.2016
19:10:12
я нашел метод получения платформы без list
осталось только сделать получение игры по продукт коду
лучшая документация

Кротобедонтий
26.12.2016
19:23:52

Janek
26.12.2016
19:24:41
Крови богу крови

Кротобедонтий
26.12.2016
19:25:04
Шта

Daniel
26.12.2016
19:46:10
я хтмл нуб, помогите сделать request ('url) чтобы на выхлопе было %.txt
https://stepic.org/media/attachments/course67/3.6.3/699991.txt -

Denis
26.12.2016
19:46:37
Нипонел

Daniel
26.12.2016
19:46:41
т.е. выбить из url содержимое
вот ето — 213837.txt

Denis
26.12.2016
19:47:03
requests.get(...).text

Daniel
26.12.2016
19:47:32
readline не надо?

Google

Denis
26.12.2016
19:47:47
Или urllib.request.urlopen(...).read().decode('utf-8')

Daniel
26.12.2016
19:48:34
блин эти request и requests вечно путаю

Denis
26.12.2016
19:49:01
requests это сторонняя библиотека, urllib.request есть в стдлибе

Daniel
26.12.2016
19:50:00
ну да, импортировал ее, посмотрю urllib, спасибо :)

Maksim
26.12.2016
20:04:56
Если я хочу добавить какую нибудь инфу по определенному ключу своему, то как это сделать?

Denis
26.12.2016
20:07:15
Куда добавить?

Кротобедонтий
26.12.2016
20:07:17

Maksim
26.12.2016
20:07:23
МГм

Denis
26.12.2016
20:07:29
a[b] = c

Max
26.12.2016
20:14:49
Чат, а поясните за аргумент селф. Я понимаю, что есть у нас класс и есть объект как инстанс класса. Стаковерфлоу говорит о том, что типа селф нужен чтобы был слот для самого объекта когда мы вызовем класс и передадим объект как аргумент. Типа
v_instance.length()
будет
Vector.length(v_instance)
И типа если в классе есть куча селфов, то зачем их много, если селф нужен всего один?

Denis
26.12.2016
20:15:26
Что значит в классе есть куча селфов?
Селф всегда один
Его может и вообще не быть

Кротобедонтий
26.12.2016
20:18:41

Denis
26.12.2016
20:19:03
У статических и классовых методов нет селфа
И если вызвать любой метод в контексте класса, селф передаваться не будет

Max
26.12.2016
20:19:36

Кротобедонтий
26.12.2016
20:19:48
Селф же есть ссылка на объект
Эта группа больше не существует