我有一个简单的游戏,我想通过命令行选择他们的文件来决定播放它的机器人。 每个机器人都有一个take_turn函数,它返回一个数字,就是它。
命令行类似于:
python game.py ttt_log.txt random_bot.py draw_bot.py
我不确定如何导入文件然后使用它们的功能。目前正在使用argv阅读它们。
答案 0 :(得分:2)
要动态导入给定文件路径的模块,Python提供imp
(如 import )模块。请注意,Python 2和3(甚至是最近的Py 3次要版本)之间存在重大变化,因此请阅读文档以获取更多信息。
使用示例,您可以根据自己的需要进行调整:
import imp
import sys
import os
module_path = sys.argv[1]
module_name = os.path.splitext(module_path)[0]
mymodule = imp.load_source(module_name, module_path)
result = mymodule.take_turn()
print("The result is: {}".format(result))