Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在另一个python脚本的循环中调用和运行python mainmodel.py?_Python_Python 2.7 - Fatal编程技术网

如何在另一个python脚本的循环中调用和运行python mainmodel.py?

如何在另一个python脚本的循环中调用和运行python mainmodel.py?,python,python-2.7,Python,Python 2.7,我一直在尝试运行python mainmodel.py模型(tha模型使用一个“mainmodel.py”模型,因为一切都是命令式的) 问题是我不能在python的循环中运行这个模型。 ideia在不同条件下运行模型,对模型进行敏感性分析(15个参数中的每一个都有许多变化)。 我想使用这个: 或 我调用“mainmodel.py”的代码很简单,只有在运行模型时,我调用“mainmodel.py”的代码是: 问题是,我们需要测试模型中的许多参数。因为这样做(在敏感性分析中)是自动化的!! 提前

我一直在尝试运行python mainmodel.py模型(tha模型使用一个“mainmodel.py”模型,因为一切都是命令式的)

问题是我不能在python的循环中运行这个模型。 ideia在不同条件下运行模型,对模型进行敏感性分析(15个参数中的每一个都有许多变化)。 我想使用这个:

我调用“mainmodel.py”的代码很简单,只有在运行模型时,我调用“mainmodel.py”的代码是:

问题是,我们需要测试模型中的许多参数。因为这样做(在敏感性分析中)是自动化的!! 提前谢谢!!
Isaque

另一种方法是触发“主”哨兵。有关更多信息,请查看:


我不确定我是否理解你的问题。什么是
mainmodel.py
?它如何获取其参数?您真的需要将其作为脚本调用吗?或者您可以导入它并运行其函数吗?嗨,Gonzalon,“mainmodel.py”是模型的控制器。从“mainmodel”称为模型的所有部分。其思想是使用“控制”模型调用“mainmodel”作为16个参数运行(每个参数有20个不同的值)。在这段代码中,我开发了一个选择参数的序列。但我可以在“控制”中设置,但我无法将所选值从“控制”转换到“发电机”模块。Chers!!
###################################################
__author__ = 'Isaque'
import mainmodel
import subprocess
import sys

for t in range(3):
    print 'MAJOR LOOP %s T'%t
    for i in range(2):
        subprocess.call((sys.executable, "mainmodel.py"))
        print 'MINOR LOOP %s'%i

#################################################
        #Please check the below code. Hope it helps.

        #Demo for mainmodel.py
        import sys

        def check_args(temp1,temp2):
            if temp1 == temp2:
                return True
            else:
                return False

        def main():
            arg1 = sys.argv[1]
            arg2 = sys.argv[2]
            print "I am in mainmodel.py"
            ret = check_args(arg1,arg2)
            if ret:
                #print "Success"
                sys.exit(0)
            else:
                #print "Fail"
                sys.exit(1)

        if __name__ == '__main__':
            main()
    #=========================================================

    #Calling mainmodel.py with args testing 

    import os
    for t in range(3):
        print 'MAJOR LOOP %s T'%t
        for i in range(3):
            print 'MINOR LOOP %s'%i
            cmd =  "python mainmodel.py "+ str(t) +" " + str(i) 
            print cmd
            ret_main_model = os.system(cmd)
            if ret_main_model == 0:
                print "Success"
            else:
                print "Fail"
            print "-----------------------------"

#=========================================
#Output

C:\Users\Administrator\Desktop>python call.py
MAJOR LOOP 0 T
MINOR LOOP 0
python mainmodel.py 0 0
I am in mainmodel.py
Success
-----------------------------
MINOR LOOP 1
python mainmodel.py 0 1
I am in mainmodel.py
Fail
-----------------------------
MINOR LOOP 2
python mainmodel.py 0 2
I am in mainmodel.py
Fail
-----------------------------
MAJOR LOOP 1 T
MINOR LOOP 0
python mainmodel.py 1 0
I am in mainmodel.py
Fail
-----------------------------
MINOR LOOP 1
python mainmodel.py 1 1
I am in mainmodel.py
Success
-----------------------------
MINOR LOOP 2
python mainmodel.py 1 2
I am in mainmodel.py
Fail
-----------------------------
MAJOR LOOP 2 T
MINOR LOOP 0
python mainmodel.py 2 0
I am in mainmodel.py
Fail
-----------------------------
MINOR LOOP 1
python mainmodel.py 2 1
I am in mainmodel.py
Fail
-----------------------------
MINOR LOOP 2
python mainmodel.py 2 2
I am in mainmodel.py
Success
-----------------------------

C:\Users\Administrator\Desktop>