вызвать метод класса, но только генератор возвращается - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь отладить метод в классе. Итак, в итеративной консоли я импортировал свой класс, используя следующую строку:

из email_reader import MyClass

Затем я подумал, что мне просто нужно установить экземпляр моего класса как показано ниже.

ma_cls = MyClass ('MyFolder')

Тогда я мог бы вызвать функцию get_email, как показано ниже,

ma_cls. get_email (имя файла, date_from, date_to)

Когда я запускаю его, точки останова никогда не попадают, и все, что возвращается, ниже.

Out [353]:

Что я делаю не так?

class MyClass:
  def __init__(self,
             outlook_folder: str):
    self.__outlook_folder = outlook_folder

  def get_email(self,
                           csv_filename: str,
                           emails_since: dt.datetime,
                           emails_to: dt.datetime = None,
                           unread_only: bool = False
                           ):

    breakpoint()

    # some logic



 if __name__ == "__main__":

 breakpoint()

 sse = MyClass("MyFolder")

for wt in sse.get_email(
        'some_file_name.CSV',
        emails_since=dt.datetime(2020, 2, 4),
        emails_to=dt.datetime(2020, 2, 5),
        unread_only=False):
    pass

1 Ответ

0 голосов
/ 05 февраля 2020

Блок кода в

if __name__ == "__main__":

выполняется только при непосредственном запуске сценария (когда вы непосредственно выполняете сценарий, содержащий ваш MyClass). Если вы импортируете указанный выше файл, то все, что находится внутри указанного выше if-statement, просто игнорируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...