我有一个playgame.cmd文件,我希望在我的python代码中能够超越。
这是一种运行游戏的遗传算法(输入是个体的),等待游戏与该个体一起运行,然后解析游戏日志中的数据以输出该个体的适应性。
.cmd文件内部(无论我不认为):
python tools/playgame.py "python MyBot.py" "python tools/sample_bots/python/HunterBot.py"
--map_file tools/maps/example/tutorial1.map --log_dir game_logs --turns 60 --scenario
--food none --player_seed 7 --verbose -e
(如果您想知道,这是针对蚂蚁AI的挑战)
这是所有细节。我的问题是标题: 如何在python中启动脚本中线,等待脚本完成,然后恢复python执行?脚本文件与python AntEvolver.py文件位于同一文件夹中。
答案 0 :(得分:3)
如果要从Python脚本中启动.cmd文件,然后在.cmd中再启动两个Python副本,我认为你需要放慢速度,退后一步,并考虑如何获得所有这些东西都在一个Python解释器中运行。但是,直接回答你的问题是使用os.system()
(或子进程模块,这也在这里提到):
答案 1 :(得分:0)
一个非常小的片段:
import subprocess
# do your stuff with sys.argv
subprocess.Popen("python MyBot.py", shell=True).communicate()
# script executed and finished, you can continue...