我正在开发一个钢琴学习软件。为此,我需要保存用户注册的配置文件的详细信息。现在我正在使用 python 文件处理,但有一些问题。那么我应该怎么做才能使用 XML 或 Qstring 文件。假设我必须为每个配置文件保存 user_name(string),lesson_id(integer)。
问问题
648 次
1 回答
2
对于如何解决这个问题,您有多种选择。决定使用哪一个的最大因素取决于您需要如何访问这些数据。如果此数据仅用于您的应用程序的内部使用,则您不需要使用 XML 等通用格式。
数据库
因为您正在 Qt 中编写钢琴应用程序,所以我认为唯一合适的数据库解决方案是 sqlite3。PyQt 具有用于此功能的 QtSql 模块。请参阅QSqlDatabase。这可以与可移植和嵌入式的 sqlite3 一起使用。如果您不需要进行查询,则此方法可能会过大。如果您需要做的只是调出保存的配置文件,请查看其他方法。这种数据库方法会稍微增加打包应用程序的大小。
我通常使用QSettings来保存有关界面的状态信息(大小、位置、各种小部件的上次设置),但您可以保存任何您想要的东西。它会自动为当前平台使用适当的用户位置和格式。
简单酸洗
如果您只想使用手动保存配置文件的方法,您可以使用cPickle腌制您的配置文件数据
import cPickle
data = {'user_name': 'foo', 'lesson_id': 5}
with open('/path/to/profile.file', 'wb') as profile:
cPickle.dump(data, profile)
如果您确实需要人类可读的格式,您可以在这里轻松地使用 json:
import json
data = {'user_name': 'foo', 'lesson_id': 5}
with open('/path/to/profile.file', 'wb') as profile:
json.dump(data, profile)
在这种情况下,我个人的建议是使用 QSettings。它自动基于用户,用于存储配置文件数据。
于 2012-04-08T16:29:31.323 回答