python - 调用类方法但只返回生成器
问题描述
我正在尝试调试类中的方法。所以在迭代控制台中,我使用下面的行导入了我的类。
从 email_reader 导入 MyClass
然后我想我只需要设置我的类的一个实例,如下所示。
ma_cls = MyClass('MyFolder')
然后我可以像下面这样调用函数 get_email,
ma_cls.get_email(文件名,date_from,date_to)
当我运行它时,断点永远不会被击中,并且返回的所有内容都在下面。
出[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
解决方案
代码块在
if __name__ == "__main__":
仅在直接运行脚本时执行(当您直接执行包含您的脚本时MyClass
)。如果您要导入上述文件,则上述文件中的所有内容都将被if-statement
忽略。
推荐阅读
- email - Java:通过邮件从数据库中发送许多项目
- tensorflow - 如何在 tensorflow 急切执行中计算张量的梯度
- azure-ad-b2c - Azure AD B2C:如何将自助服务流创建的用户添加到组
- outsystems - 如何在 OutSystems 中用“”在数据库中写入文本
- node.js - Node.js pg 客户端查询适用于第一个查询,但尽管有数据但第二个查询失败
- javascript - Webpack 脚本执行顺序
- session - Joomla 网站上的警告错误
- php - 使用函数在 Wordpress 中获取部分标题
- r - 从数据框中创建多个子集
- css - 减少角度材料树中的线高