在Python中存储应用程序设置
我正在寻找一种用Python存储设置的智能方法。我想做的就是设置一些参数并在代码中使用它 我发现了这个和这个,但我不认为这能帮我解决问题。我想存储一些参数,例如年龄、体重和姓名等,并轻松访问它们在Python中存储应用程序设置,python,parameters,settings,Python,Parameters,Settings,我正在寻找一种用Python存储设置的智能方法。我想做的就是设置一些参数并在代码中使用它 我发现了这个和这个,但我不认为这能帮我解决问题。我想存储一些参数,例如年龄、体重和姓名等,并轻松访问它们 有什么最佳实践吗?我认为一种方法是将参数存储在类中 像这样: class Settings: # default settings name = 'John' surname = 'Doe' age = 45 gender = 'Male' from sett
有什么最佳实践吗?我认为一种方法是将参数存储在类中 像这样:
class Settings:
# default settings
name = 'John'
surname = 'Doe'
age = 45
gender = 'Male'
from settings import *
settings = Settings()
username = settings.name
另一种方法是将这些变量存储在配置文件中,然后从中读取。但我发现前者更容易,因为您可以更容易地访问代码
像这样:
class Settings:
# default settings
name = 'John'
surname = 'Doe'
age = 45
gender = 'Male'
from settings import *
settings = Settings()
username = settings.name
如果您喜欢windows.ini文件格式,Python会附带ConfigParser(python3 ConfigParser)来解释它们。文档使其看起来比实际情况更复杂-请跳到结尾,看一个简单的示例 您还可以使用(滥用?
导入
)加载settings.py文件
将参数放入类中是很好的。您可以添加load和save方法,从配置文件(如果存在)读取/覆盖默认值,并使用当前值创建/更新配置文件。Pickle,
您可以将任何python数据结构存储在文件中,并在以后加载它
import pickle
data = dict(user='Homer', age=45, brain=None)
#save data to file
with open('setting.cfg', 'wb') as f:
pickle.dump(data, f)
#load data from file
with open('setting.cfg', 'rb') as f:
data = pickle.load(f)
我相信您使用示例的第二行应该是
username=Settings.name
。另外,没有理由使用\uuuu init\uuuu()
方法,因为它从未被使用过(即使它做了些什么)。我从一个工作示例中获取了这一点,但错过了这一行。谢谢你的指点!