0

我制作了一个 .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 时它可以完美运行。

任何想法我应该如何进行?我认为我的整个策略并不常见,但我必须这样做,因为我在我的计算机上没有管理员权限。

4

1 回答 1

1

我了解到您可以像在 cmd 中一样简单地运行它:

os.system(r'"C:\Users\user.name\Miniconda3\python.exe acomp.py"')
于 2020-04-27T15:15:46.827 回答