Tag: python 3.x

py.test не может импортировать мой модуль

Я пытаюсь получить право на импорт python. Я хочу достичь модуля с несколькими исходными файлами и тестовой папкой с модульными тестами. Независимо от того, что я делаю, я не могу заставить py.test-3 выполнить мои тесты. Мой каталог выглядит так: . ├── module │ ├── __init__.py │ └── testclass.py └── tests └── test_testclass.py Файл __init__.py выглядит […]

Передача байтов в качестве параметра в c #?

Я в настоящее время застреваю при попытке вызвать методы ac # из python. Я использую python 3.2, а не IronPython. Я использовал pip для установки последней версии python.net Проблема возникает (как часто обсуждается) при использовании параметров ref или out. Вот мой код: import clr path = clr.FindAssembly("USB_Adapter_Driver") clr.AddReference(path) from USB_Adapter_Driver import USB_Adapter gpio = USB_Adapter() […]

Какие объекты гарантированно имеют различную идентичность?

ОРИГИНАЛЬНЫЙ ВОПРОС: (Мой вопрос относится к Python 3.2+, но я сомневаюсь, что это изменилось с Python 2.7.) Предположим, я использую выражение, которое мы обычно ожидаем для создания объекта. Примеры: [1,2,3] ; 42 ; 'abc' ; range(10) ; True ; open('readme.txt') ; MyClass() ; lambda x : 2 * x ; и т.п. Предположим, что два […]

Модуль python _2or3?

Я пишу модуль, который позволяет мне писать код на python 3, но все равно запускайте его в 2. На самом деле это выглядит удивительно легко … что-нибудь еще, что я должен добавить? Из моего (ограниченного) разворота на интерактивном интерпретаторе будущие импорты не влияют на python 3 и считаются избыточными. # _2or3.py ''' Common usage: from […]

Как настроить Atom для запуска скриптов Python3?

В моем терминале я $ which python3 , выводящий /opt/local/bin/python3 Я хотел бы настроить Atom для запуска сценариев Python3. В моем Atom Config у меня есть runner: python: "/opt/local/bin/python3" Однако, если я запустил следующий скрипт в каком-то скрипте с именем filename.py , import sys print(sys.version) Я получаю следующий вывод: 2.7.11 (default, Feb 18 2016, 22:00:44) […]

PIL для Python 3.2 на Windows или альтернативы?

Я строю свою первую программу Python 🙂 Однако я установил Python 3.2 вместо 2.7, поскольку новая версия включает TkInter . Теперь я не могу найти способ использовать PIL. Я прочитал этот вопрос, но как общий новичок, это не очень помогает мне. Я установил zlib и libjpeg, но не смог получить больше, когда дело доходило до […]

Всегда запускать постоянное число подпроцессов параллельно

Я хочу использовать подпроцессы, чтобы 20 экземпляров написанного скрипта выполнялись параллельно. Допустим, у меня есть большой список URL-адресов с 100 000 записей, и моя программа должна контролировать, что все 20 экземпляров моего скрипта работают над этим списком. Я хотел закодировать его следующим образом: urllist = [url1, url2, url3, .. , url100000] i=0 while number_of_subproccesses < […]

Как получить char * из PyObject, который указывает на строку

Как я могу получить char * из PyObject, который указывает на строку. Например, это скрипт python, Test.Connect("272.22.20.65", 1234) и это код C ++, static PyObject* Connect(PyObject *self, PyObject *args) { PyObject* pIP; PyObject* pPort; if (!PyArg_UnpackTuple(args, "Connect", 2, 2, &pIP, &pPort)) { return NULL; } const char* zIP = GetAsString(pIP); long iPort = PyLong_AsLong(pPort); Я […]

Оптимальная оптимизация блокировки в asyncio

Обновление: отредактированное название, чтобы сосредоточиться на основной проблеме. См. Мой ответ для полного обновления. В следующем коде a() и b() идентичны. Каждый из них одновременно рассчитывает от 0 до 9 при приобретении и дает блокировку каждые 2 счета. import asyncio lock = asyncio.Lock() def a (): yield from lock.acquire() for i in range(10): print('a: ' […]

Python3 + Curses: Как нажимать «q» для окончательной программы сразу?

Когда я запускаю следующий пример кода и нажимаю только «q», он заканчивается правильно, но если бы я нажал любые другие символы «например, много разрывов и множество других символов», а затем нажмите «q», он не выйдет , как я могу это решить? import curses, time def main(sc): sc.nodelay(1) while True: sc.addstr(1, 1, time.strftime("%H:%M:%S")) sc.refresh() if sc.getch() […]

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