
87776
02.04.2016
15:31:25
лол

Sasha
02.04.2016
15:32:01

Igor
02.04.2016
16:11:25
Привет.
Обьясните чо за дичь?
Вот такой код
# -*- coding: utf-8 -*-
import vk_api
def main():
vk = vk_api.VkApi().get_api()
response = vk.wall.get(type = "post", owner_id = "-88273780", item_id = 333230, filter = "likes", extended = 1, count = 1000)
if response['items']:
print(response['items'])
if __name__ == '__main__':
main()
Выдает вот такую ошибку
Traceback (most recent call last):
File "D:\main.py", line 17, in <module>
main()
File "D:\main.py", line 14, in main
print(response['items'])
File "D:\Program Files\Python35-32\lib\idlelib\PyShell.py", line 1344, in write
return self.shell.write(s, self.tags)
UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 2562-2562: Non-BMP character not supported in Tk

Sharkus
02.04.2016
16:15:00
Не может текст напечатать?

Google

Sharkus
02.04.2016
16:15:27
"Hi there,
Encoding has always been the bane of my existence as a new programmer myself. I need to do a little more reading, but basically, the tweet contains characters that your terminal ("print" command) doesn't understand without you telling it how to interpret them. For now, I would try:
encoded = string.encode("utf-8", errors='ignore')
print encoded
This will force all tweet characters into utf-8, although you may lose some emojis and fancy icons."

Igor
02.04.2016
16:15:27
да, с кодировкой что- то
По идее ничего же такого нет
emoji? Вот сабаки!

Sharkus
02.04.2016
16:17:40
Emoji? In my vk post? It's more likely than you think.

Igor
02.04.2016
16:18:06
так нет. Я же беру список тех, кто лайкнул пост

Nick
02.04.2016
16:19:08
А чекни на посте с одним лайком

Artem
02.04.2016
16:20:41
Как сочетается "coding: utf-8" и питон 3.5?

Sharkus
02.04.2016
16:21:56

Igor
02.04.2016
16:22:12
походу чото у меня с питончиком

Artem
02.04.2016
16:22:51
Скорее с терминалом :)

Nick
02.04.2016
16:22:55
Питон ПОДАВИЛСЯ :)))0)0)0))0

Sharkus
02.04.2016
16:23:13
Ну да, скорее с терминалом.

Igor
02.04.2016
16:23:22
То чуство, что я что то не так сделал.

Google

Dmitriy
02.04.2016
16:32:58
В файл выведи
> bla.txt
Если норм то в терминал не лезет
Скорее емоджи да

Sharkus
02.04.2016
16:36:19
Я же заскринил, чего там возвращается и выложил. Куча эмодзей и прочих радостей.

Artem
02.04.2016
16:39:47

Sharkus
02.04.2016
16:40:28
Сокол, нас раскрыли!

Igor
02.04.2016
16:44:18
теперь более интересно - надо id со списка угнать
[{'last_name': 'Bass', 'id': 280761922, 'type': 'profile', 'first_name': 'Anastasia', 'hidden': 1}, {'last_name': 'Kotovsky', 'id': 266160826, 'type': 'profile', 'first_name': 'Valera'}, {'last_name': 'Yukhimenko', 'id': 238888016, 'type': 'profile', 'first_name': 'Katerina', 'hidden': 1}]
через
for a in response
не хочет
Уже понял

Artem
02.04.2016
16:46:56
ids = [x['id'] for x in entries]

Sasha
02.04.2016
16:50:29
в чем проблема?)

Igor
02.04.2016
16:50:42
та уже не в чем

Sasha
02.04.2016
16:50:47
[dct['id'] for dct in response]

Sharkus
02.04.2016
16:52:31
Повторение - мать заикания :)

Sasha
02.04.2016
17:00:45
У меня тчо-то телеграм глючи веб-версия
Я напишу что-нибудь, обновлю и до моего сообщения появляются другие
Пора его в пидгин тоже подключить

Maxim robox
02.04.2016
17:01:25
У меня с декстопной было подобное.

Sasha
02.04.2016
17:01:27
Сорян, правда не видел сообщение от Артема

Igor
02.04.2016
17:03:39
# -*- coding: utf-8 -*-
import vk_api
def main():
vk = vk_api.VkApi().get_api()
response = vk.likes.getList(type = "post", owner_id = "-88273780", item_id = 333230, filter = "likes", extended = 0, count = 1000)
for a in response["items"]:
tresp = vk.users.get(user_ids = a , fields = "sex")
if tresp[0]["sex"] == 1:
print("girl vk.com/id"+str(tresp[0]["id"]))
elif tresp[0]["sex"] == 2:
print("man vk.com/id"+str(tresp[0]["id"]))
if __name__ == '__main__':
main()
А теперь вопрос!
Мне надо записать ид парней и девушек в разные списки. Чем записывать?

Sasha
02.04.2016
17:04:08
Форматирование улетело

Google

Igor
02.04.2016
17:04:21
нет, это только у тебя

Maxim robox
02.04.2016
17:09:00
Ну и разрешение. Бедолага.

Igor
02.04.2016
17:20:41
ну ясно же что нетбук
такс, помогите с окончаниям)
# -*- coding: utf-8 -*-
import vk_api
def main():
man = []
girl = []
vk = vk_api.VkApi().get_api()
response = vk.likes.getList(type = "post", owner_id = "-88273780", item_id = 333230, filter = "likes", extended = 0, count = 1000)
for a in response["items"]:
tresp = vk.users.get(user_ids = a , fields = "sex")
if tresp[0]["sex"] == 1:
girl.append(str(tresp[0]["id"]))
elif tresp[0]["sex"] == 2:
man.append(str(tresp[0]["id"]))
if __name__ == '__main__':
main()
Надо составить рандомные пары парень - девушка, только нельзя что бы повторялись люди.
в списке man лежат id парней, в списке girl - девушек.
Пар должно быть максимальное количество

Dmitriy
02.04.2016
17:42:33

Igor
02.04.2016
17:42:51
так точно

Dmitriy
02.04.2016
17:43:35
брать случайный элемент из списка 1, удалять
брать случайный элемент из списка 2, удалять

Pavel
02.04.2016
17:43:45
man = random.shuffle(man)
girl = random.shuflfe(girl)
for m, f in zip(man, girl):
...
только надо вспомнить, как zip относится к спискам разной длины.

Igor
02.04.2016
17:46:09
ок, спасибки)

Pavel
02.04.2016
17:46:32

Igor
02.04.2016
17:48:00
Короче, попросил одмэн одной группы облегчить ему жизнь чучуть.
Суть группы - встречи в слепую

Pavel
02.04.2016
17:51:33

Igor
02.04.2016
17:51:47
Рандом однако
TypeError: zip argument #1 must support iteration
как всегда?

Artem
02.04.2016
17:53:07

Pavel
02.04.2016
17:54:15

Igor
02.04.2016
17:57:32
mans = random.shuffle(man)
girls = random.shuffle(girl)
for m, f in zip(mans, girls):
pass
так а чо ошибка??
TypeError: zip argument #1 must support iteration

Dmitriy
02.04.2016
17:58:06
а тип какой у mans?

Pavel
02.04.2016
17:59:07
ошибка, что random.shuffle сорртирует список как есть. надо просто
random.shuffle(man)
random.shuffle(girsl)

Google

Igor
02.04.2016
18:05:49
Хоть убей - не пашет.
mans = random.shuffle(man)
все время возвращет
None

Pavel
02.04.2016
18:06:40
>>> guys = ['a', 'b', 'c']
>>> girls = ['1', '2', '3', '4']
>>> random.shuffle(guys)
>>> random.shuffle(girls)
>>> for dude, babe in zip(guys, girls):
... print(dude, babe)
...
b 1
c 4
a 2
Он возвращает None, но при этом массив man уже перемешан.

Admin
ERROR: S client not available

Zon
02.04.2016
18:28:10

Igor
02.04.2016
18:33:26
Паша, поправь пожалуйста
# -*- coding: utf-8 -*-
import vk_api
import random
def main():
man = []
girl = []
vk = vk_api.VkApi().get_api()
response = vk.likes.getList(type = "post", owner_id = "-88273780", item_id = 333230, filter = "likes", extended = 0, count = 1000)
for a in response["items"]:
tresp = vk.users.get(user_ids = a , fields = "sex")
sex = tresp[0]["sex"]
if sex == 1:
girl.append(str(tresp[0]["id"]))
elif sex == 2:
man.append(str(tresp[0]["id"]))
mans = random.shuffle(man)
girls = random.shuffle(girl)
print(mans)
print(girls)
for m, f in zip(mans, girls):
print("vk.com/id"+str(m) + ' and vk.com/id'+str(f))
if __name__ == '__main__':
main()
А то все равно ошибка лезет

Pavel
02.04.2016
18:35:20
сравни мой код, выложенный тремя сообщениями выше, и свой код. Сравни возле shuffle.

Artem
02.04.2016
18:37:09
random.shuffle перемешивает in place

Igor
02.04.2016
18:48:19
Все
пасиб

Тёма
02.04.2016
22:03:59
есть тут кто?)

Pavel
02.04.2016
22:04:18
а то.

Тёма
02.04.2016
22:05:07
вопрос есть. в дебиане всякие модули библиотеки питоновские ставятся через апт-гет, как я понял. если я их буду обновлять пипом, будут какие-то проблемы с дальнейшими обновлениями или еще чем-то?

Pavel
02.04.2016
22:05:27
это две разные вещи.
В общем случае, apt ставит библиотеки в обще-системные пути и они доступны для любого питон-приложения. Обновляются, разумеется, через apt-get update

Тёма
02.04.2016
22:06:27
а пип разве не их обновляет? если у меня нет никаких виртуалэнвов с пайэнвами

Maxim robox
02.04.2016
22:07:00

Pavel
02.04.2016
22:07:20
и вот тут я попал в тупик, потому что никогда не пользовал пип без venv

Maxim robox
02.04.2016
22:07:30
same
Если ты ставишь просто какую-нибудь утилиту на питоне типа supervisor, то можно ставить через apt-get. Но если ты к проекту что-то подключаешь, то лучше virtualenv завести и в него ставить пипом.

Google

Maxim robox
02.04.2016
22:09:20
Ну это мой личный опыт.

Pavel
02.04.2016
22:09:57

Тёма
02.04.2016
22:10:11
Стоило бы обзавестись.
ну обзаведусь. просто у меня какие-то проблемы с пайэнвом любимым на raspberry pi, скорее всего просто ошибся где-то. но если там правда проблемы какие-то - придется разбираться с виртуалэнвом, а его я вообще не знаю

Pavel
02.04.2016
22:10:49
python3 -m venv что скажет?

Тёма
02.04.2016
22:11:28

Maxim robox
02.04.2016
22:11:33
Хотя, чувствую, скоро понадобится для деплоя.

Pavel
02.04.2016
22:12:26

Тёма
02.04.2016
22:13:43
ну значит работает virtuaenv. ;)
просто я питон всегда только через pyenv ставил, потому что это ну очень удобно. я вообще только учусь и разбираюсь в питоне, но более удобной настройки окружения, чем pyenv плюс свои окружения внутри анаконды не видел.
а сейчас понял что на arm анаконды нет, pyenv на rpi работает криво, и надо узнавать как работает системный питон)

Pavel
02.04.2016
22:14:49
python -m venv путь_к_вирутальному_окружению
. путь_к_вирутальному_окружению/bin/activate
после этого pip, python и прочее будет из виртуалки. И всё.

Тёма
02.04.2016
22:16:14
а как оно работает? оно делает симлинк на /usr/bin/python (или где он там живет по умолчанию?)?
или в $PATH что-то добавляет?

Pavel
02.04.2016
22:16:59
первая строка собирает вирутальное окружение из текущей версии питона, копирует (или симлинками) библиотеки и т.п.
вторая - поправляет $path.

Dmitriy
02.04.2016
22:17:31
до вызова deactivate/закрытия консоли