Tag: python 3.x

Python 3 метод обновления словаря карты к списку других словарей

В Python 2 я могу сделать следующее: >> d = {'a':1} >> extras = [{'b':2}, {'c':4}] >> map(d.update, extras) >> d['c'] >> 4 В Python 3 получить KeyError : >> d = {'a':1} >> extras = [{'b':2}, {'c':4}] >> map(d.update, extras) >> d['c'] >> KeyError: 'c' Я хотел бы добиться такого же поведения в Python […]

Python namedtuple как аргумент обратного вызова apply_async (..)

Я пишу короткую программу, где я хочу вызвать функцию асинхронно, чтобы она не блокировала вызывающего. Для этого я использую Pool из multiprocessing модуля python. В функции, называемой асинхронно, я хочу вернуть namedtuple чтобы он соответствовал логике остальной части моей программы, но я обнаружил, что namedtuple , похоже, не поддерживается поддерживаемым типом, чтобы перейти от порожденного […]

Python 3.x: альтернативная реализация pprint

Стандартный модуль pprint хорош при работе со списками, dicts и т. Д. Но иногда полностью непригодным для использования с пользовательскими классами: Единственный способ сделать его печатаемой полезной информацией об объекте некоторого класса – переопределить __repr__ , но что, если у моего класса уже есть nice, eval() 'able __repr__ который не показывает информацию, которую я хочу […]

Как я могу хранить Python Enum с помощью Pony ORM?

Скажем, у меня есть это простое небольшое изображение Pony ORM. Встроенный класс Enum является новым по сравнению с Python 3.4, а backported до 2.7. from enum import Enum from pony.orm import Database, Required class State(Enum): ready = 0 running = 1 errored = 2 if __name__ == '__main__': db = Database('sqlite', ':memory:', create_db=True) class StateTable(db.Entity): […]

Могу ли я использовать setup.py для упаковки приложения, которое требует PyQt5?

Я рассмотрел этот вопрос здесь: Возможно ли потребовать PyQt из setuptools setup.py? Каков правильный способ распространения приложения python с gui, и он основан на PyQt? (Я использую PyQt5 и Python3) Я все еще учу, как распределять вещи, поэтому я не знаю, имеет ли смысл мой вопрос. Редактировать: Правильный ответ: sudo pip3 install . работал для […]

Назначение Tuple в Python, это ошибка в Python?

Я читал это интересное сообщение https://asmeurer.github.io/blog/posts/tuples/ В примечании автора представлен этот пример >>> t=1,2,[3,4] >>> t (1, 2, [3, 4]) >>> t[2]+=[5,6] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment Хотя Python создал исключение, но он изменил кортеж >>> t (1, 2, [3, 4, […]

Пожалуйста, объясните: «Задание было уничтожено, но оно еще не выполнено!»

Python 3.4.2 Я изучаю асинчио, и я использую его для непрерывного прослушивания шины IPC, в то время как gbulb слушает dbus. Некоторые примечания: Поэтому я создал функцию listen_to_ipc_channel_layer которая постоянно прослушивает входящие сообщения на канале IPC и передает сообщение message_handler . Я также слушаю SIGTERM и SIGINT. Поэтому, когда я отправляю SIGTERM в процесс python, […]

Как это работает для List?

Я пытаюсь понять, как работают аннотации типа Python (например, List и Dict – not list или dict ). В частности, меня интересует, как работает isinstance(list(), List) , чтобы я мог создавать свои собственные аннотации. Я вижу, что List определяется как: class List(list, MutableSequence[T], extra=list): . . . Я знаком с metaclass = xxx но я […]

Извлечение IP-адресов и портов из списка в Python 3.x

Я хотел бы извлечь IP и Port из возвращенного списка. В настоящее время я использую команду str (var) .replace для удаления дополнительных символов. Это будет / вызывает проблемы при изменении формата строки, в результате чего команда .replace через ошибку def discover_device(): """ This function will look for available device on the local network and extract […]

Какие стандартные библиотечные модули необходимы для запуска интерпретатора Python 3.5?

Вот программа CPython, которая пытается инициализировать интерпретатор пустым sys.path : #include <Python.h> int main(int argc, char** argv) { wchar_t* program = NULL; wchar_t* sys_path = NULL; Py_NoSiteFlag = 1; program = Py_DecodeLocale(argv[0], NULL); Py_SetProgramName(program); sys_path = Py_DecodeLocale("", NULL); Py_SetPath(sys_path); Py_Initialize(); PyMem_RawFree(program); PyMem_RawFree(sys_path); Py_Finalize(); } Выполнение вышеуказанной программы вызывает следующую ошибку: Fatal Python error: Py_Initialize: Unable […]

Python - лучший язык программирования в мире.