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

Страница 1334 из 1885
[root@localhost ~]#
02.03.2017
19:17:45
о, спасибо

сработало

теперь можно резать

Johnnie
02.03.2017
19:19:36
type(tag_class) == type(mutagen.id3.APIC) выдает True

Google
melancholiac
02.03.2017
19:20:06
чем является mutagen.id3.APIC?

Johnnie
02.03.2017
19:20:29
чем является mutagen.id3.APIC?
http://mutagen.readthedocs.io/en/latest/api/id3_frames.html#mutagen.id3.APIC

Сергей
02.03.2017
19:25:37
type(tag_class) == type(mutagen.id3.APIC) выдает True
https://pythonz.net/references/named/isinstance/

Вадим
02.03.2017
19:26:20
все таже проблема, посмотрите пожалуйста функцию, конечно ужасно, но может кто скажет в чем ошибка ? http://pastebin.ru/DB38xTMh

Вадим
02.03.2017
19:27:40
битый текст
по ссылке ? сейчас еще раз залью

вот новая http://pastebin.ru/Ndgk9MhM

Сергей
02.03.2017
19:31:39
куда смотреть?
Если типы одинаковые, а isinstance возвращает false, наверно надо проверить точно ли оба аргумента родственники?

Мб в доке что есть...

Johnnie
02.03.2017
19:32:58
isinstance(tag_class(), mutagen.id3.APIC) хммм

это возвращает True

melancholiac
02.03.2017
19:33:28
лолда

Google
melancholiac
02.03.2017
19:33:31
/_-

b0g3r
02.03.2017
19:33:49
Johnnie
02.03.2017
19:34:58
>>> isinstance(str, str) False >>> isinstance('', str) True

походу я туплю

слева объект нужен, а не класс

b0g3r
02.03.2017
19:35:16
прочитай название функции, которую ты используешь

проверяет не класс, а экземпляр

как бы str - тоже экземпляр - класса type

isinstance(str, type) True

Johnnie
02.03.2017
19:36:59
>>> class A: pass ... >>> a = A() >>> isinstance(A, A) False >>> isinstance(a, A) True

так нагляднее :)

ну тут A это экземпляр object :D

b0g3r
02.03.2017
19:37:20
нагляднее прочитать название функции, как по мне)

та ну

type(A) в студию

Johnnie
02.03.2017
19:37:50
»> type(A) <class 'type'>

да шо ж такое

b0g3r
02.03.2017
19:38:05
наследник object

Johnnie
02.03.2017
19:38:06
я просто помню что в 2.х пишут class A(object): pass

b0g3r
02.03.2017
19:38:32
но сам класс, как объект - всё ещё экземпляр type

Google
Johnnie
02.03.2017
19:38:41
понял, спасибо

isinstance(tag_class(), mutagen.id3.APIC) хммм
а вот так вообще законно делать?

у меня есть название в принципе, можно его сверить

но хочется почему-то isintance()

53r63rn4r
02.03.2017
19:39:44
Но лучше заранее знать какими данными ты оперируешь

b0g3r
02.03.2017
19:39:47
по-моему есть другой способ проверить является ли какой-либо класс наследником

без создания его экземпляра

Johnnie
02.03.2017
19:40:24
Но лучше заранее знать какими данными ты оперируешь
у меня хитро там немного. на входе словарь, где ключи это названия классов, а значения - содержимое тега

вот я через getattr() и дергаю их, чтобы не писать для каждого отдельно

53r63rn4r
02.03.2017
19:40:48
У меня немного по другому, сейчас кину код

b0g3r
02.03.2017
19:41:19
.__subclassess()

Johnnie
02.03.2017
19:41:42
а этот APIC - это картинка, там не int или str, а tuple в содержимом

b0g3r
02.03.2017
19:41:55
я говнарь, нужно https://docs.python.org/3.6/library/functions.html#issubclass

проверка что B является наследником A

53r63rn4r
02.03.2017
19:43:13
Во флуд питонерс кину

Johnnie
02.03.2017
19:43:22
tag_class in mutagen.id3.APIC.__subclasses__() тоже False

b0g3r
02.03.2017
19:43:38
класс

а, ну относительно логично

Johnnie
02.03.2017
19:43:57
карочи, ну иво нахуй. if tag_code == 'APIC' наше всё

b0g3r
02.03.2017
19:46:40
еее

Google
b0g3r
02.03.2017
19:46:52
https://docs.python.org/3.6/library/functions.html#issubclass

а так

Вадим
02.03.2017
19:47:14
посмотрите плз может кто ошибку помжет найти http://pastebin.ru/Ndgk9MhM

b0g3r
02.03.2017
19:47:37
а че за ошибка то

чтобы найти ошибку - нужно 1) знать ошибку 2) знать что должно получиться в итоге

Johnnie
02.03.2017
19:48:08
фак е! спасибо! :)

b0g3r
02.03.2017
19:48:19
мои поздравления :)

покушал говна вместе с тобой и посыпал голову пеплом за незнание документации

Anna
02.03.2017
19:49:08
Дратути, кто-то сталкивался с тем, что openpyxl не может прожевать слишком большой файл?

Admin
ERROR: S client not available

53r63rn4r
02.03.2017
19:49:52
Насколько большой?

Anna
02.03.2017
19:50:05
130мб

Johnnie
02.03.2017
19:50:23
мои поздравления :)
вообще можно было б обойтись type(tag_class) == type(..APIC), но issubclass() красивее :)

b0g3r
02.03.2017
19:50:25
рекомендую посмотреть в сторону аналогов

Anna
02.03.2017
19:50:26
openpyxl говно
Ну вот что-то пошло не так да

b0g3r
02.03.2017
19:50:33
или деваться некуда

Anna
02.03.2017
19:50:34
Видимо, надо возвращаться на xlrt

Google
b0g3r
02.03.2017
19:50:54
это всегда тру

Anna
02.03.2017
19:51:11
Либо попробовать это все сожрать встроенным csv-ридером

Johnnie
02.03.2017
19:51:37
типы этих классов - это <class 'type'>
бля, точна. спасибо еще раз!

Вадим
02.03.2017
19:51:47
покушал говна вместе с тобой и посыпал голову пеплом за незнание документации
TypeError: 'NoneType' object is not subscriptable на выходе получается кортеж из него дальше нужно брать вот так b[0] или b[1] в зависимости от нужды.

Вадим
02.03.2017
19:52:32
подскажите пожалуйст, с чем связана такая ошибка TypeError: 'NoneType' object is not subscriptable ? у меня есть фукция которая проверяет есть ли ключи в словаре , если есть то return s если нет то функция вызывает себя еще раз , если все ок то значение передается в другую функцию и там идет принт, так как у меня функция возвращает 2 значения return a,b я в другой функции делаю например print (r[0]) так вот когда когда произошла рекурсия и уже показалось следующее значение и оно подходит то выбрасывает такую ошибку TypeError: 'NoneType' object is not subscriptable

какая строчка
print(b[1]) эта ошибка уже происходит в другой фнкции которая принимает значение из кортежа

до как мне кажется рекурсии все работае ок ! а как только обнаруживается недостающий тег все валится

b0g3r
02.03.2017
19:53:56
if 'signer_id' not in t or 'attachments' not in t:

в нем нет return

или там до не ок не доходит?)

Вадим
02.03.2017
19:54:32
до не ок доходит

b0g3r
02.03.2017
19:55:39
что происходит: доходит до рекурсивного вызова, что-то там делается внутри, потом рекурсия потихоньку разворачивается и в конце концов выполняются вот эти две строчки:

offset_start[message.chat.id].append(max(offset_start[message.chat.id])+1) offset_end[message.chat.id].append(max(offset_end[message.chat.id]) + 1)

Вадим
02.03.2017
19:55:56
или там до не ок не доходит?)
https://vk.com/public1224089?w=wall-1224089_304427 vse OK https://vk.com/public77598642?w=wall-77598642_216520 vse OK https://vk.com/public30660469?w=wall-30660469_335035 Ne OK https://vk.com/public30660469?w=wall-30660469_335026 vse OK bot.send_message(message.from_user.id, s[1]) TypeError: 'NoneType' object is not subscriptable

b0g3r
02.03.2017
19:56:08
так как нет return, функция прошла свой код до конца и закончила работу - функция возвращает None

ты по нему пытаешься итерироваться

None[1] - возващает ошибку

Вадим
02.03.2017
19:57:14
а я как бы зациклить и что бы выход был только в первом ифе

хотел

b0g3r
02.03.2017
19:58:12
трудно разобраться чего такое, но, очевидно, вместо api_vk_func(message) должен быть return api_vk_func(message) (ну или аналогичная конструкция типа result = api... <...> return result)

Nardis
02.03.2017
19:58:45

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

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