【发布时间】:2019-12-16 20:42:56
【问题描述】:
有一个python脚本start_test.py。
还有第二个python脚本siple_test.py。
# pseudo code:
start_test.py --calls--> subprocess(python.exe simple_test.py, args_simple_test[])
两个脚本的 python 解释器是相同的。因此,我不想打开一个新实例,而是直接从start_test.py 运行simple_test.py。我需要保留 sys.args 环境。 很高兴实际上是在simple_test.py 中输入以下代码部分:
# file: simple_test.py
if __name__ == '__main__':
some_test_function()
最重要的是,方式应该是通用的,不依赖于simple_test.py的内容。
这种设置有两个好处:
- 调用占用的资源要少得多
-
simple_test.py的全栈可以用pycharm调试
那么,如何在不启动新子进程的情况下从 python 脚本执行 python 脚本的调用?
【问题讨论】:
-
您可以像这样导入函数:
from file import function请参见此处:stackoverflow.com/questions/20309456/… -
thx,但是如何保留子进程参数的各个上下文?就像 sys.args = ['my', 'awesome','test','args']。或者有没有更pythonc的方法呢?