使模块名称成为变量

时间:2015-06-02 02:50:11

标签: python variables module save

我是编程的新手,我正在练习一个小游戏。我想要实现的是将字符的属性保存为可执行.py文件中的变量,然后将其作为模块导入以使用这些变量。

问题在于我不想对保存文件的名称进行硬编码(这样可以让玩家自由选择保存文件的名称并拥有多个保存文件而不会相互覆盖)。

那么有没有办法基本上将模块名称变为变量?或者也许有一种更简单的方法来解决这个问题。

2 个答案:

答案 0 :(得分:0)

import importlib
module = importlib.import_module(module_name, package=None)

其中module_name是变量。

答案 1 :(得分:0)

如果我正确理解你的问题 - 你想存储一个角色的属性并希望以后能够检索它是对的吗?

要做的是使用pickle。您可以在哪里序列化对象并将其存储到文件中,然后再次加载它。例如。如果您将这些属性作为字典 - 您可以执行以下操作

import pickle
x = pickle.dumps({'speed':100, 'agility':200})
char = pickle.loads(x)

注意:所有对象都不具备选择性 - 请阅读上述文档。

关于您的原始问题 - 是的,模块可以归结为变量,如下所示

import BeautifulSoup as bs4 

import BeautifulSoup
bs4 = BeautifulSoup

但我不认为这是你特别想要的。

希望有所帮助。