从python中执行脚本

时间:2011-12-11 21:59:58

标签: python

我有一个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文件位于同一文件夹中。

2 个答案:

答案 0 :(得分:3)

如果要从Python脚本中启动.cmd文件,然后在.cmd中再启动两个Python副本,我认为你需要放慢速度,退后一步,并考虑如何获得所有这些东西都在一个Python解释器中运行。但是,直接回答你的问题是使用os.system()(或子进程模块,这也在这里提到):

http://docs.python.org/library/os.html#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...