在 Python 中存储应用程序设置
Storing application settings in Python
我正在寻找一种将我的设置存储在 Python 中的智能方法。我只想设置一些参数并在代码中使用它。
我找到了这个 Best practices for storing settings and this Storing application settings in C#,但我认为这不能帮助我解决问题。我想存储一些参数,例如年龄体重和姓名等,并轻松访问它们。
有什么最佳实践吗?
我认为一种方法是将参数存储在 class。
像这样:
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) 来解释它们。文档使这看起来比实际更复杂 - 跳到最后看一个简单的例子。
您还可以使用(滥用?)import
来加载 settings.py 文件。
将您的参数放在 class 中很好。您可以添加加载和保存方法以从配置文件(如果存在)读取/覆盖默认值,并使用当前值 create/update 配置文件。
腌制它,
您可以在文件中存储任何 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)
我正在寻找一种将我的设置存储在 Python 中的智能方法。我只想设置一些参数并在代码中使用它。
我找到了这个 Best practices for storing settings and this Storing application settings in C#,但我认为这不能帮助我解决问题。我想存储一些参数,例如年龄体重和姓名等,并轻松访问它们。
有什么最佳实践吗?
我认为一种方法是将参数存储在 class。
像这样:
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) 来解释它们。文档使这看起来比实际更复杂 - 跳到最后看一个简单的例子。
您还可以使用(滥用?)import
来加载 settings.py 文件。
将您的参数放在 class 中很好。您可以添加加载和保存方法以从配置文件(如果存在)读取/覆盖默认值,并使用当前值 create/update 配置文件。
腌制它, 您可以在文件中存储任何 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)