繁体   English   中英

从python内部执行脚本

[英]Execute script from within 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文件位于同一文件夹中。

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

http://docs.python.org/library/os.html#os.system

一个非常小的片段:

import subprocess
# do your stuff with sys.argv
subprocess.Popen("python MyBot.py", shell=True).communicate()
# script executed and finished, you can continue...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM