gpt4 book ai didi

python - 如何从您的脚本执行另一个 python 脚本并能够调试?

转载 作者:太空狗 更新时间:2023-10-29 21:30:03 27 4
gpt4 key购买 nike

您有包装器 python 脚本调用另一个 python 脚本,当前使用 os.system('python another.py some-params')

您希望能够调试这两个脚本,如果您使用 os.system(),您将失去调试器,因此使用相同的解释器加载第二个脚本确实有意义开始另一个。

import 没有达到预期效果,因为它没有运行 __main__

其他变体,如 exec()runpy 会遗漏 argv 参数。

您认为这个问题有什么解决方案?

我正在寻找一种不需要您修改 another.py 脚本的解决方案。这可能需要在执行之前修改 sys.argv

最佳答案

到目前为止,我找到了一个仅适用于 Python 2.7+ 的解决方案(runpy.run_path() 是在 Python 2.7 中引入的)。

如果您能找到适用于 2.6(甚至 2.5)的版本,欢迎您发布。

import runpy, sys
saved_argv = sys.argv
... # patch sys.argv[1:] and load new command line parameters
# run_path() does change only sys.argv[0] but restores it
runpy.run_path('another.py', run_name="__main__")
sys.argv = saved_argv # restore sys.argv

关于python - 如何从您的脚本执行另一个 python 脚本并能够调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3657955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com