如何启动 __name__ == '__main__': 使用来自另一个 .py 文件的特定输入?

How to start a __name__ == '__main__': with specific inputs from another .py file?

我有一个 main.py 其中一个

if __name__ == '__main__':

位于开始整个过程​​。 安装了一个正常的 def main() 我需要使用 if __name__ == '__main__': variante,因为我在 spyder 中编码并同时使用多处理(否则会导致混乱)。

我只需要 运行 这个 main.py 文件。 (效果很好,但是...)

但是同时我需要能够调用这个

if __name__ == '__main__':

从外部通过另一个 .py 文件(我们称之为 optimize.py)使用优化循环为 main.py 提供不同的参数。

有办法吗?

使用您从 if __name__ == '__main__': 条件调用的函数:

之前:

if __name__ == '__main__':
    i = 5 
    j = 20
    m = 99
    # do A with i
    # do B with j
    # do C with m

之后:

def start_me(i,j,m):
    # do A with i
    # do B with j
    # do C with m


if __name__ == '__main__':
    i = 5 
    j = 20
    m = 99
    start_me(i,j,m) 

如果直接调用它使用默认参数,如果从 optimizer.py 调用,您只需直接使用该函数并根据需要提供参数。