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

Страница 1112 из 1885
Alexandr
12.01.2017
12:15:35
бля и тем нет

грустно

Dmitriy
12.01.2017
12:15:55
Темы ненужны

Вот ютабчик воспроизводить без браузера это круто!

Google
Dmitriy
12.01.2017
12:16:39
А то пока жирнолис очнется

Alexandr
12.01.2017
12:16:45
да

Igor
12.01.2017
12:29:16
бля и тем нет
они ему не нужны, он просто по умолчанию не выглядит как говно :3

Bandikoot
12.01.2017
12:33:47
telegram desktop - некрасивое медленно обновляющееся говнище
оно и внутри не лучше. в соседнем чате наслушался, как очень знающий человек его пакетирует в неоф. репы Fedora

Igor
12.01.2017
12:37:59
я два-три дня настраивал IDE чтобы его тупо скомпилить, потому что в репозитории/проекте не указаны все зависимости и/или неактуальный код

V
12.01.2017
12:38:23
ну можно из апстора, можно standalone или вообще из бета-ветки отдельной
а можно ссылочку на бету? что-то не вижу. и в репе только мастер вроде в ветках

Igor
12.01.2017
12:38:38
можно, https://rink.hockeyapp.net/apps/c55f5e74ae5d0ad254df29f71a1b5f0e/

V
12.01.2017
12:39:01
о, пасиб. а там что-то стоящее есть? проблему с бектиками не пофиксили?

Igor
12.01.2017
12:39:13
не пофиксили :))))) и хуй знает когда пофиксят, заебало уже

щас бета от стабильной не особо отличается

но и не падает обычно

V
12.01.2017
12:40:04
эх, вот реально единственное что бесит

Google
V
12.01.2017
12:40:19
у апсторной версии один плюс - автоапдейт

или у беты своя апдейтилка есть?

Igor
12.01.2017
12:42:34
или у беты своя апдейтилка есть?
своя, через sparkle, как и у standalone

99% софта не из апстора апдейтится через спаркл

он существовал, существует и будет существовать :3333

переживет этот ваш ссаный апстор, отвечаю!

V
12.01.2017
12:43:08
))))

Igor
12.01.2017
12:43:34
V
12.01.2017
12:43:41
3333

Igor
12.01.2017
12:43:44
а

гггг

V
12.01.2017
12:43:59
коннектимся за автоапдейтами на 3333!

Igor
12.01.2017
12:44:03
мы с друзяшками сервер майнкрафта подняли на :33333 специально из тех же соображений

Letalis
12.01.2017
12:45:20
не могу понять: a1 = [1,4] a2 = [43,2] def merge(l, r): result = [] i = j = 0 while i < len(l) and j < len(r): if l[i] < r[j]: result.append(l[i]) i += 1 else: result.append(r[j]) j += 1 result += l[i:] result += r[j:] return result почему он просто соединяет 2 списка, не сортируя элемнты в них по порядку? по идее итог должен быть: [1, 2, 4, 43], а у него получается: [1, 4, 43, 2]

Dmitriy
12.01.2017
12:46:26
Гм

Johnnie
12.01.2017
12:46:42
>>> a = [1, 2] >>> b = [3, 4] >>> c = sorted(a + b) >>> c [1, 2, 3, 4] :)))

Letalis
12.01.2017
12:47:12
это и так понятно что есть такая функция, да

Igor
12.01.2017
12:49:50
a1 = [1, 4] a2 = [43, 2] def merge(l, r): result = [] i = j = 0 while i < len(l) and j < len(r): if l[i] < r[j]: print('l[i] < r[j],', l[i], '<', r[j], '; adding l[i] to the result; i++') result.append(l[i]) i += 1 else: print('l[i] >= r[j],', l[i], '>=', r[j], '; adding r[j] to the result; j++') result.append(r[j]) j += 1 print('appending to result: l[{}:] == {}'.format(i, l[i:])) result += l[i:] print('appending to result: r[{}:] == {}'.format(j, r[j:])) result += r[j:] print('result:') print(result) return result merge(a1, a2)

первые два раза у тебя срабатывает result.append(l[i]) добавляя в result первые два элемента - 1 и 4

Google
Igor
12.01.2017
12:50:45
и потом после цикла срабатывает result += r[j:] добавляя 43 и 2

b0g3r
12.01.2017
12:53:34
Игорь няша

Letalis
12.01.2017
12:55:06
Все понял, спасибо.

Yan?
12.01.2017
12:55:45
Игорь няша

Бай зе вей

Что можно быстро на джанго накидать, чтобы в резюме засунуть?

v
12.01.2017
13:01:19
Блог, как обычно

Dmitry
12.01.2017
13:01:53
помогите разобраться с json.dump, пожалуйста. Есть такой код: def create_stoplist_file(url=stop_list_url): with open('stoplist.json', 'w', encoding='utf-8') as stoplist: data = requests.get(url) stoplist.write(json.dumps(data.text, sort_keys=True, indent=3, ensure_ascii=False)) return print('returned:', stoplist) Вот кусок входящего json: {"stopList":[{"deliveryTerminalId":"12a0eeeb-c76c-3ada-014d-ff5b68ad160f","items": Вот то, что в файл записывается: "{\"stopList\":[{\"deliveryTerminalId\":\"12a0eeeb-c76c-3ada-014d-ff5b68ad160f\",\"items\" Как поправить то, что пишется в файл?

Igor
12.01.2017
13:02:21
у объекта Response в requests есть метод json() если чо

а, у тебя там куча всего происходит - sort_keys, indent, ensure_ascii, сорри

погоди, а как ты проверяешь то, что записывается в файл?

Dmitry
12.01.2017
13:05:44
смотрю в файл

Igor
12.01.2017
13:06:03
из питона? или в стороннем текстовом редакторе?

Dmitry
12.01.2017
13:06:21
в редакторе

Igor
12.01.2017
13:07:00
сорри еще раз ))

Dmitry
12.01.2017
13:07:25
если взять stoplist = data.json(), то все нормально декодируется, но в файл не пишется, т.к. write() не используется

Denis
12.01.2017
13:07:26
json.dumps(data.json попробуй

Igor
12.01.2017
13:07:49
а, я понял

да, че-то я трижды туплю :))

Denis
12.01.2017
13:08:01
Потому что text это просто строка

Google
Igor
12.01.2017
13:08:03
data.text - это строка

Dmitry
12.01.2017
13:08:22
спасибо!

Ivan
12.01.2017
13:14:05
Парни, а вот как быть в данном случае - лежит в папке файлик, питон сгенерировал его ранее (скриншот, например), и нужно мне ссылку на скачивание сделать - что порекомендуете? )

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

Я так понимаю, что нужно какой-нибудь веб-фреймворк запускать

Igor
12.01.2017
13:15:39
веб-фреймворк нафиг не нужен для раздачи статических файлов

подойдет любой веб-сервер, nginx например

Denis
12.01.2017
13:15:59
Кидаешь его в статик твоего веб-сервера, если он есть

А если нет, в библиотеке питона есть простой сервер

Igor
12.01.2017
13:16:21
если хочешь обойтись самописным питоном, то можешь посмотреть в сторону SimpleHTTPServer ))

во :)

Ivan
12.01.2017
13:16:37
Так, nginx, окей. Тоже подойдёт. А как будет выглядеть ссылка? http://ip_сервера/путь/до/файла ?

Igor
12.01.2017
13:16:52
можно так, можно хоть http://ip_сервера/жопа/говно/путь/до/файла

можно просто http://ip_сервера/имяфайла.png

Ivan
12.01.2017
13:17:44
Окей, спасибо) NGINX полез изучать.. )

Igor
12.01.2017
13:23:27
т.е. питон генерирует файлик и кладет, например, в папку /opt/http/screenshots/ а конфиг nginx'а (/etc/nginx/sites-enabled/screenshots, например, если убунта) в таком случае будет примерно такой: server { listen 9999; root /opt/http/screenshots/; } тогда файл /opt/http/screenshots/screen1.png будет доступен по http://ip-сервера:9999/screen1.png

только убедись, что у питона есть права на запись в папку /opt/http/screenshots/, а у nginx есть права на чтение туда же

(грубо говоря, можно chmod -R 755 /opt/http/screenshots/ сделать)

или 644

Denis
12.01.2017
13:24:56
На папку лучше всегда +x ставить

Google
Igor
12.01.2017
13:25:01
во, спасибо

Dmitry
12.01.2017
13:28:24
как сравнить 2 jsonа? Моя логика такая: 1) json.load оба файла а вот дальше не могу одуплить что делать. суть вопроса такая: В одном json стоп-лист: "items": [ { "balance": -11.0, "productId": "66fb5fc5-8615-4074-85b6-d00ee3969fa9" }, { "balance": 0.0, "productId": "a22f7552-0f91-45f2-a95f-c0b0816b2e37" }, в другом json заказы и тоже "items" каждого заказа. Задача сравнить позиции из стоплиста с позициями в заказах, и если они совпали, то вывести сообщение.

Bandikoot
12.01.2017
13:32:15
но всё же первый коммент к топ ответу

Dmitry
12.01.2017
13:34:34
это понятно. Вопрос в коде. Делать через: for i in json1: if i['items']['balance'] == 0 and i['items']['productId']: for j in json2: if j['items']['productId'] == i: ...

так?

Bandikoot
12.01.2017
13:35:09
целиком оба json'а же можно

ну или jsonN['items']

Denis
12.01.2017
13:36:07
Обычно всякие такие сравнения делаются проще, чем вложенными циклами

Но без примера двух жсонов ничего сказать не могу

Для каждого заказа нужно определить, есть ли он в стоплисте?

Dmitry
12.01.2017
13:54:46
у каждого заказа внутри есть товары('items') с уникальным id. Нужно понять, есть ли этот товар в стоплисте. Если есть и значение "balance" <=0, то нужно вернуть номер заказа в котором находится товар

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

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