【发布时间】:2020-04-24 18:12:55
【问题描述】:
我制作了一个 .py 文件(我称之为 acomp.py),它从 SQL 数据库中读取,经过一系列计算并将其输出导出到一个 excel 文件。后来我通过电子邮件发送了这个 .xlsx 文件对不同的人。
我希望将它放在另一个 python 脚本中,这样我就可以使用 schedule 模块在选定的时间以芳香方式调用 acomp.py,运行它并通过电子邮件发送输出:
def exec_scrpit():
exec(open("acomp.py", encoding='utf-8').read())
send_email()
schedule.every().day.at("07:20").do(exec_scrpit)
当第二个脚本调用第一个脚本时,它会与 acom.py 内部函数返回错误:
" File "<string>", line 125, in <lambda>
NameError: name 'modalidade_contrato' is not defined"
这个 'modalidade_contrato' 是在 acomp.py 中定义的,当我直接执行 acom.py 时它可以完美运行。
任何想法我应该如何进行?我认为我的整个策略不寻常,但我必须这样做,因为我的计算机上没有管理员权限。
【问题讨论】:
-
什么是 Modalidade_contrato?一类?一个函数?一个模块?
-
它是一个函数。我在 acomp.py 文件的 lambda 函数中调用它。
标签: python-3.x python-import python-exec