@ru_python

Страница 7815 из 9768
?
22.01.2019
01:11:57
nginx_status

Slam! 538
22.01.2019
01:13:31
nginx
socks это что?

?
22.01.2019
01:13:51
socks это что?
Ты прикалываешься?

Slam! 538
22.01.2019
01:13:58
нет

Google
Slam! 538
22.01.2019
01:14:05
интересуюсь

?
22.01.2019
01:14:09
нет
Так зачем писать если ты не разбираешься?

google.com -> What is this? SOCKS

Slam! 538
22.01.2019
01:15:02
спасибо

?
22.01.2019
04:02:14
В threading можно ли как то объявить такую переменную, к которой будет доступ у каждого потока. чтобы они могли читать ее и менять global не подходит

?
22.01.2019
04:06:54
Почему global не подходит?
потому что переменная объявляется в классе, и вообще global Нагружают

Bair
22.01.2019
04:08:04
по вопросам для начинающих куда обращаться?

?
22.01.2019
04:08:54
@ru_python_beginners

Пиши в атрибут объекта

Пиши в атрибут объекта
Ты вопрос читал?

Google
Bair
22.01.2019
04:09:04
спасиб

?
22.01.2019
04:09:46
Если я просто передам туда переменную, то она будет для каждого потока локальная

Там список, который потоки будут изменять и читать из него

Slam! 538
22.01.2019
04:16:42
потому что переменная объявляется в классе, и вообще global Нагружают
Даже если это класс, объявить глобальную переменную ничего не мешает

Сергей
22.01.2019
04:39:49
Если я просто передам туда переменную, то она будет для каждого потока локальная
Не совсем так, будет локальная ссылка на одну и ту же переменную и если это список, то вполне допустимо с ним делать то, что можно делать со списком (добавлять значения, удалять). Вот если ты присвоешь этой переменной другой список, то да, в этом потоке потеряешь доступ к тому списку, который передал. Только работая с одним и тем же списком в потоках желательно использовать мьютексы (либо специальные очереди для потоков)

Сергей
22.01.2019
04:43:56
Поток должен удалять какой то элемент из списка, потом брать случайный элемент оттуда?

?
22.01.2019
04:44:05
+

Сергей
22.01.2019
04:45:32
будет работать. Достаточно передать этот список в поток и между удалением элемента и выбором случайного элемента не пускать другие потоки к этому списку (погугли Lock() из модуля threding)

Evgenii
22.01.2019
04:48:24
Доброе, всем, кто не спит ))) Есть камера которая не умеет писать на файлшару, а на фтп пишет только фото, но умеет слать инфо о событии на сервер событий, например по датчику движения. Поднял сокет сервер, прилетает строка, что за кодировка может быть? def handle(self): data = self.request.recv(1024) print("{} wrote:".format(self.client_address[0])) print(data) print(data.decode('utf-8', errors='replace')) (venv) root@motion:/opt/motion# python server.py 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t%%\x00' 8office_231� %% 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t%:\x00' 8office_231� %: 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t&\t\x00' 8office_231� & Без errors='replace', получаю: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 48: invalid continuation byte

Сергей
22.01.2019
04:49:12
Так в python же передается элемент, а не указатель на элемент
нет. В питоне ни в одной переменной не может быть элемент, все построено на ссылках на элемент. Передается ссылка. Пока ты не присваеваешь этой переменной другое значение (другую ссылку), она указывает на "глобальный" элемент

не на копию, а именно на оригинал

Сергей
22.01.2019
04:51:19
создаешь свойство класса: self._lst = lst, этим ты начинаешь ссылаться на этот же список

Slam! 538
22.01.2019
04:51:48
?
22.01.2019
04:54:10
создаешь свойство класса: self._lst = lst, этим ты начинаешь ссылаться на этот же список
Почитаю об этом, спасибо. Даже и не вкурсе, что в питоне можно создавать ссылки на элемент

Google
Сергей
22.01.2019
04:54:56
Я был прав?
да. lst1 = lst2 всего лишь присваивает адрес списка (если точнее, то адрес структуры со списком) переменной lst1, на которую указывает lst2

?
22.01.2019
04:55:59
Все переменные - ссылки
Нет, я про то что если написать a = 5 потом передать его в другой класс и в init сказать, что self.b = a и потом менять self.b, то где-нибудь за классом a так и будет 5

Slam! 538
22.01.2019
04:56:01
a = 254; b = 254; a == b давало бы False

Cykooz
22.01.2019
04:56:07
Доброе, всем, кто не спит ))) Есть камера которая не умеет писать на файлшару, а на фтп пишет только фото, но умеет слать инфо о событии на сервер событий, например по датчику движения. Поднял сокет сервер, прилетает строка, что за кодировка может быть? def handle(self): data = self.request.recv(1024) print("{} wrote:".format(self.client_address[0])) print(data) print(data.decode('utf-8', errors='replace')) (venv) root@motion:/opt/motion# python server.py 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t%%\x00' 8office_231� %% 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t%:\x00' 8office_231� %: 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t&\t\x00' 8office_231� & Без errors='replace', получаю: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 48: invalid continuation byte
Это не текст, видно ведь кучу нулевых байтов. Какой-то бинарный протокол

?
22.01.2019
04:58:18
создаешь свойство класса: self._lst = lst, этим ты начинаешь ссылаться на этот же список
А в таком варианте при изменении self._lst будет меняться и за классом lst

Сергей
22.01.2019
04:58:35
Доброе, всем, кто не спит ))) Есть камера которая не умеет писать на файлшару, а на фтп пишет только фото, но умеет слать инфо о событии на сервер событий, например по датчику движения. Поднял сокет сервер, прилетает строка, что за кодировка может быть? def handle(self): data = self.request.recv(1024) print("{} wrote:".format(self.client_address[0])) print(data) print(data.decode('utf-8', errors='replace')) (venv) root@motion:/opt/motion# python server.py 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t%%\x00' 8office_231� %% 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t%:\x00' 8office_231� %: 192.168.10.50 wrote: b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t&\t\x00' 8office_231� & Без errors='replace', получаю: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 48: invalid continuation byte
попробуй здесь посмотреть: https://2cyr.com/decode/?lang=ru

А в таком варианте при изменении self._lst будет меняться и за классом lst
если ниже у тебя не будет self._lst слева от "равно", то они будут указывать на одну и ту же структуру и все изменения будут и там и там видны

Сергей
22.01.2019
05:02:34
специфика знака _ ?
этим ты говоришь другим людям, что эта переменная для внутренних нужд и желательно за пределами класса к ней не обращаться.

такое джентльменское соглашение

?
22.01.2019
05:03:34
Ну это то я помню

А так и не понял, от какого действея self._lst при изменении внутри меняется и снаружи класса

Slam! 538
22.01.2019
05:04:47
Когда снова задаешь/меняешь self._lst

Сергей
22.01.2019
05:06:00
self._lst.append(), self._lst.pop() и т.д.

в том числе и remove(), clean(), sort()

Когда снова задаешь/меняешь self._lst
Если задаешь новое значение, то в этой переменной уже новая ссылка и ты в классе теряешь доступ к переданному списку

?
22.01.2019
05:10:12
Написал себе пример, ну я удивлен

Google
?
22.01.2019
05:10:13
Если задаешь новое значение, то в этой переменной уже новая ссылка и ты в классе теряешь доступ к переданному списку

В какой тогда случае при изменении в классе, она не будет меняться снаружи?

Terminator
22.01.2019
05:10:54
@Car_bo будет жить. Поприветствуем!

Сергей
22.01.2019
05:11:18
self._lst = [], например

Admin
ERROR: S client not available

?
22.01.2019
05:13:04
self._lst = [], например
Нет, если я хочу получить из класса А в класс В список, и играться с ним внутри, но чтобы он не менялся снаружи

Gadget
22.01.2019
05:13:12
Ребята, привет. Подскажите, кто силён в этом или сталкивался. Прошёл апдейт на серере и python под него попал. Теперь беда с pytest: File "/usr/bin/pytest", line 7, in <module> from pytest import main File "/usr/lib/python3.4/site-packages/pytest.py", line 21, in <module> from _pytest.config import ( ImportError: cannot import name '_preloadplugins' Что за "_preloadplugins"?

Evgenii
22.01.2019
05:13:36
А можешь изначальную, не перекодируемую в utf8 строку показать?
b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t:\x02\x00'

Сергей
22.01.2019
05:14:38
если он линейные (т.е. все его элементы - не списки), то self._lst = lst.copy()

?
22.01.2019
05:16:47
если он линейные (т.е. все его элементы - не списки), то self._lst = lst.copy()
Все эти правила только со списками и на другие типы не распространяются?

Сергей
22.01.2019
05:16:55
если внутри списка сложные структуры, типа других списков, словарей, т.е. мутабельные типы, тогда есть библиотека deepcopy

ну ты можешь играться только с изменяемыми (мутабельными) типами list, dict, set, bytearray, user-defined classes. Значения всех остальных типов можно только получить, а не изменить

?
22.01.2019
05:19:03
Все, разобрался, косвенное изменение не создает новую ссылку на переменную, а работает со старой, пока не будет "self._lst = "

self._lst.append(), self._lst.pop() и т.д.

в том числе и remove(), clean(), sort()

Спасибо большое!

Сергей
22.01.2019
05:26:12
b'\x14\x10\x16 8\x00\x00\x00office_231\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xe3\x07\x01\x16\t:\x02\x00'
Возможно вся информация не передается в чистом виде, а в качестве определенных флагов, значения которых дают определенные события (т.е. есть некая таблица соответствия флаг = событие)

Google
Evgenii
22.01.2019
05:28:03
из текста тут явное, только office_231

Tishka17
22.01.2019
05:31:32
На какой порт хоть присылает?

Evgenii
22.01.2019
05:32:24
На какой порт хоть присылает?
да на любой, какой укажешь, может даже на несколько серверов событий слать

Tishka17
22.01.2019
05:32:44
Может там написать что-то рядом с полем настройки?

Tishka17
22.01.2019
05:35:11
Мда

Сергей
22.01.2019
05:36:25
А если поставить какой то стандартный сервер событий и пустить поток на него? Что там будет?

Evgenii
22.01.2019
05:36:44
Можно конечно наплевать на то что прилетает и начинать писать видео на любой пакет, который прилетает на порт

Сергей
22.01.2019
05:38:01
это внутри камеры или на другом хосте?

Tishka17
22.01.2019
05:38:12
Названием там или ещё что

Чёт хз что за протокол

Evgenii
22.01.2019
05:38:49

Страница 7815 из 9768