【问题标题】:Execute stand alone python script inside another script在另一个脚本中执行独立的 python 脚本
【发布时间】: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


【解决方案1】:

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

os.system(r'"C:\Users\user.name\Miniconda3\python.exe acomp.py"')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 2011-12-09
    相关资源
    最近更新 更多