Я не знаю, почему не удалось выполнить unittest [duplicate]

Мы не можем привязать это к setTimeout(), поскольку он всегда выполняется с глобальным объектом (Window), если вы хотите получить доступ к контексту this в функции обратного вызова, а затем с помощью bind() к функции обратного вызова, которую мы можем достичь как:

setTimeout(function(){
    this.methodName();
}.bind(this), 2000);
27
задан blong 2 December 2015 в 17:49
поделиться

1 ответ

Это происходит потому, что A и B являются независимыми, несвязанными пакетами, насколько это касается Python.

Создайте __init__.py в том же каталоге, что и Driver.py, и все должно работают как ожидалось.

19
ответ дан David Wolever 21 August 2018 в 13:45
поделиться
  • 1
    Благодаря! Вы можете немного объяснить init .py файлы? Я не понял объяснений, найденных в Интернете. Я исхожу из c ++-фона, поэтому я привык просто указывать путь для включений и т. Д. – Joshua 15 February 2013 в 16:04
  • 2
    Это немного волнообразно, но в основном: поместить файл __init__.py в каталог означает «в этом каталоге», все файлы .py и все подкаталоги, содержащие файл __init__.py, являются частью тот же пакет ". – David Wolever 15 February 2013 в 17:56
  • 3
    Все, что ему нужно, если из учетной записи импорта в драйвере driver.py. Добавление дополнительного init.py и использование относительного импорта немного неудобно и загрязняет верхний уровень. – Wyrmwood 10 November 2014 в 20:49
  • 4
    Это решение не работает для меня, используя Python 2.7.14. Я предполагаю, что решение для Python 3.x? Есть ли решение python2 для тех, кто вынужден работать в унаследованных системах? – retsigam 14 April 2018 в 23:40
  • 5
    @retsigam Это работает как для Python 2 & amp; Python 3. Фактически, этот синтаксис был создан для Python 2.3 или 2.4 или что-то вроде этого (я забыл время выпуска). – Mike Williamson 27 June 2018 в 00:58
Другие вопросы по тегам:

Похожие вопросы: