
Andrew
05.04.2019
04:55:55
peewee
Ребята подскажите есть функция
def delete_string(url):
mystring = query.get(query.fullink == url)
mystring.delete_instance()
return print('Удалено из базы: ' + url)
вызываю ее в другой функции
r = requests.get(url, ...)
if r.status_code in [200]:
f = open('..')
f.write(r.text)
f.close()
print('Ok')
delete_string(url)
time.sleep(2)
почему в консоли не выводит return print('Удалено из базы: ' + url) при выполнении хотя print('Ok') выводит
возможно что долго ищет строку в базе? необходимо в функции делать коонект db.connect()?

Boriskas
05.04.2019
04:58:18
Насколько я помню он и не должен печатать

Andrew
05.04.2019
04:59:31
Зачем ты это делаешь
при скачивании файлов часто приходит блок от сервера что бы заново не качать те же файлы удаляю ссылки на уже скачанные

Google

Tishka17
05.04.2019
04:59:41

Aragaer
05.04.2019
05:00:32
не в курсе. Может быть на arrays есть, на list вообще непонятно как это можно было бы сделать

Andrew
05.04.2019
05:02:37
Зачем ты это делаешь
возможно, что в бд много строк и он долго ищет? если я в функции сказал return print('Удалено из базы: ' + url) должен же возвращать print

Aragaer
05.04.2019
05:03:55
что значит "возвращать print"?

Ugly
05.04.2019
05:04:45
я конечно не 7 пядей во лбу, но почему сразу там же и не печатать? ну что удалено
нафика return мучать?

Aragaer
05.04.2019
05:04:58
он и печатает
а потом return-ом возвращает результат print
который вроде число символов распечатанных

Andrew
05.04.2019
05:06:20

Tishka17
05.04.2019
05:06:31

Ugly
05.04.2019
05:06:37
не в ифе.. а там где удаляешь
удалил/распечатал

Google

Aragaer
05.04.2019
05:09:06
значит путаю с другими языками

Tishka17
05.04.2019
05:09:47

Andrew
05.04.2019
05:09:55


Сергей
05.04.2019
06:01:55
class Children(object):
def __init__(self, username, last_name, apples):
self.username = username
self.last_name = last_name
self.apples = apples
children_list = [
Children('Вася', 'Пупкин', 5),
Children('Петя', 'Пяточкин', 2),
Children('Вася', 'Пупкин', 2),
Children('Вася', 'Пяточкин', 1)
]
# Вася Пупкин = 7
# Петя Пяточкин = 2
# Вася Пяточкин = 1
Есть какой-нибудь алгоритм сорттировки с провркой на условие, подходящий для этой задачи?
Чтобы на выходе получить то что закоменчено.
SQL конечно хорошо но не подойдет
Можно воспользоваться словарем для суммирования яблок:
class Children(object):
def __init__(self, username, last_name, apples):
self.username = username
self.last_name = last_name
self.apples = apples
def get_key(self):
return f"{self.username} {self.last_name}"
children_list = [
Children('Вася', 'Пупкин', 5),
Children('Петя', 'Пяточкин', 2),
Children('Вася', 'Пупкин', 2),
Children('Вася', 'Пяточкин', 1)
]
children_dict = {}
for child in children_list:
children_dict[child.get_key()] = children_dict.get(child.get_key(), 0) + child.apples
print(children_dict) # {'Вася Пупкин': 7, 'Петя Пяточкин': 2, 'Вася Пяточкин': 1}


SetazeR
05.04.2019
06:08:15
@Tishka17 Наконец заценил датаклассы

Tishka17
05.04.2019
06:08:26
:)

SetazeR
05.04.2019
06:08:48
и сделал сериализацию/десериализацию в json с них
вообще изи и удобно

Tishka17
05.04.2019
06:09:11
А десериализацию как сделал?

SetazeR
05.04.2019
06:09:43
так, я забыл что из этого в какую сторону

Max
05.04.2019
06:09:52
из в датакласс

SetazeR
05.04.2019
06:10:07
спасиб


Gennady
05.04.2019
06:10:22
Можно воспользоваться словарем для суммирования яблок:
class Children(object):
def __init__(self, username, last_name, apples):
self.username = username
self.last_name = last_name
self.apples = apples
def get_key(self):
return f"{self.username} {self.last_name}"
children_list = [
Children('Вася', 'Пупкин', 5),
Children('Петя', 'Пяточкин', 2),
Children('Вася', 'Пупкин', 2),
Children('Вася', 'Пяточкин', 1)
]
children_dict = {}
for child in children_list:
children_dict[child.get_key()] = children_dict.get(child.get_key(), 0) + child.apples
print(children_dict) # {'Вася Пупкин': 7, 'Петя Пяточкин': 2, 'Вася Пяточкин': 1}
Пока сделал не красиво:
# Вася Пупкин = 7
# Петя Пяточкин = 2
# Вася Пяточкин = 1
class Children(object):
def __init__(self, username, last_name, apples):
self.username = username
self.last_name = last_name
self.apples = apples
children_list = [
Children('Вася', 'Пупкин', 5),
Children('Петя', 'Пяточкин', 2),
Children('Вася', 'Пупкин', 2),
Children('Вася', 'Пяточкин', 1)
]
for children in children_list:
for children_clone in children_list:
if children == children_clone:
continue
checks = [
children.username == children_clone.username,
children.last_name == children_clone.last_name
]
if all(checks):
children.apples += children_clone.apples
children_list.remove(children_clone)
for children in children_list:
print(children.__dict__)
{'username': 'Вася', 'last_name': 'Пупкин', 'apples': 7}
{'username': 'Петя', 'last_name': 'Пяточкин', 'apples': 2}
{'username': 'Вася', 'last_name': 'Пяточкин', 'apples': 1}


SetazeR
05.04.2019
06:10:42

Max
05.04.2019
06:11:03
У тебя определенная структура получается?
Или любой жсон

SetazeR
05.04.2019
06:11:11
йеп
не любой

Max
05.04.2019
06:11:22
Понял.

SetazeR
05.04.2019
06:11:25
жсон я генерю просто для промежуточного сохранения

Google

Tishka17
05.04.2019
06:11:41

Dmitry
05.04.2019
06:11:52
Доброе утро, господа. У меня тут вопрос по джанге и нжинксу. Я джангу поднял в докере, но статик файлы она не видит. Как я понял, нужно нжинксу их показать, верно? Только у меня нжинкс глобально стоит, вне контейнера докера.
Можно ли отдавать статику с глобальным нжинксом?

Max
05.04.2019
06:12:40
ну наверное я бы сделал что-то вроде __setattr__(*x) for x in data.items()

SetazeR
05.04.2019
06:12:49
Ну если говорить за конкретику: я открываю файл, читаю жсон - у меня в файле список экземпляров датакласса описанный моей же структурой

Tishka17
05.04.2019
06:13:32

SetazeR
05.04.2019
06:13:39
получаю данные, аппендю в список заюзав asdict из dataclasses и записываю этот список обратно в файл в жсон

Tishka17
05.04.2019
06:14:00

Gennady
05.04.2019
06:15:12
Можно воспользоваться словарем для суммирования яблок:
class Children(object):
def __init__(self, username, last_name, apples):
self.username = username
self.last_name = last_name
self.apples = apples
def get_key(self):
return f"{self.username} {self.last_name}"
children_list = [
Children('Вася', 'Пупкин', 5),
Children('Петя', 'Пяточкин', 2),
Children('Вася', 'Пупкин', 2),
Children('Вася', 'Пяточкин', 1)
]
children_dict = {}
for child in children_list:
children_dict[child.get_key()] = children_dict.get(child.get_key(), 0) + child.apples
print(children_dict) # {'Вася Пупкин': 7, 'Петя Пяточкин': 2, 'Вася Пяточкин': 1}
Но идея не плоха)
Жаль только что на выходе нужны объекты.
То что я про чуваков с яблоками показал - это чисто пример.
На самом деле там много всего)

Max
05.04.2019
06:15:13

SetazeR
05.04.2019
06:15:35
@Tishka17 мне по большей части понравилось то что IDE мне поля которые я заполняю подсказывает

Max
05.04.2019
06:15:37
Но раз удобная штука попробую почитать материал

SetazeR
05.04.2019
06:15:49
не надо ковыряться с ключами

Tishka17
05.04.2019
06:15:59

SetazeR
05.04.2019
06:15:59
ещё напишешь не тот символ

Tynuk
05.04.2019
06:16:42

SetazeR
05.04.2019
06:17:22

Tishka17
05.04.2019
06:19:10

Александр
05.04.2019
06:19:35

SetazeR
05.04.2019
06:20:07

Tishka17
05.04.2019
06:20:21

Google

Tishka17
05.04.2019
06:20:48

Александр
05.04.2019
06:21:17

Сергей
05.04.2019
06:26:30

Mr
05.04.2019
06:28:14

Tishka17
05.04.2019
06:28:23
А зачем get_key возвращает строку?

Сергей
05.04.2019
06:30:07
А зачем get_key возвращает строку?
ну это своеобразный ключ для словаря по которому ведется подсчет. По сути там может возвращаться любое значение, по которому нужно будет суммировать

Tishka17
05.04.2019
06:30:42

Alex
05.04.2019
06:31:20
Здравствуйте!

Сергей
05.04.2019
06:31:51
можно было и тупл. Но как то все привыкли в словаре в качестве ключа использовать строку. Так быстрее поймут смысл алгоритма

Alex
05.04.2019
06:32:30
Подскажите пожалуйста, как лучше организовать динамические (обновляемые) графики из Питона для отображения их в браузерах ?

Tishka17
05.04.2019
06:33:38
Rest api + chart.js

Alex
05.04.2019
06:34:01
спасибо

Aragaer
05.04.2019
06:34:23

Mr
05.04.2019
06:35:08
фиг знает, не пробовал. но там есть гугловая, гитхабовская и еще чья-то аутентификаторка

Alex
05.04.2019
06:35:17
Rest api + chart.js
Rest api - это в смысле будет обращение к стороннему сервису для обработки ?

Mr
05.04.2019
06:37:05
а там можно прогнать код без регистрации?
оно на которких списках прекрасно работает, а валится на пороге 60к где-то, в vsc вроде около 2-2.5 секунд чавкает, а там по идее лимиты до 1000мс обычно на решение

Nick
05.04.2019
06:37:27
Всем привет, учил и практикую язык С, сейчас в планах поднять второй язык, чтобы присеcть в офис, определяюсь с языком... Скажите связка С/python востребована на рынке, web никак не интересует, за исключением, где нет JS.

Mr
05.04.2019
06:38:06
после С будет весело в питоне

Aragaer
05.04.2019
06:38:17
мм
у меня все ок, 52мс

Google

Mr
05.04.2019
06:38:52
хм...ну знашт што-то я совсем не то делаю

Сергей
05.04.2019
06:39:01

Aragaer
05.04.2019
06:39:02
или надо жать submit?

Mr
05.04.2019
06:39:08
да, сабмит

Aragaer
05.04.2019
06:39:13
мхм, wrong answer. Где-то бага

Mr
05.04.2019
06:39:17
а, лол) там-то у меня тоже 50мс
это первый тест, самый маленький лист

Alex
05.04.2019
06:39:35

Aragaer
05.04.2019
06:40:15
наверно я с бинарным поиском напортачил