导入命令行中给出的文件

时间:2015-03-07 00:11:52

标签: python

我有一个简单的游戏,我想通过命令行选择他们的文件来决定播放它的机器人。 每个机器人都有一个take_turn函数,它返回一个数字,就是它。

命令行类似于:

python game.py ttt_log.txt random_bot.py draw_bot.py

我不确定如何导入文件然后使用它们的功能。目前正在使用argv阅读它们。

1 个答案:

答案 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))