我一直想要建立一个非常类似Twitter的相当大的项目,我刚刚启动它并且在创建帐户时遇到了一点错误。我想知道存储和调用数据的最佳方法是什么。我很清楚我可以使用.txt文件来执行此操作,但后来我发现使程序识别数据结构更为棘手。
For example, the file might look like this:
acnt - twigman
pass - yellow
创建帐户的用户可能使用相同的名称,我需要停止,但我不知道如何让程序知道用户名的开始和结束位置。
如果我可以在Python程序中使用数据库,那将会更容易,这意味着程序只能作为一个文件运行,并且编码会更容易。该程序还可以识别用户名的开头和结尾,而无需为其编写更多脚本。
感谢您的帮助。
答案 0 :(得分:2)
您对Python的期望非常低。这是个好消息,因为你会非常开心。
你绝对可以使用Python数据库。设置和最接近你描述的最简单和最快的是文件数据库:SQLite。 Here是一个很好的教程。
如果您想坚持使用简单,可以使用pickle module或shelve module来“保留”您的数据
当然,一旦您的数据库大小显着增加,您可以继续使用MySQL或PostgreSQL或其他数据库。
我鼓励您查看数据库抽象工具,例如SQLAlchemy,因为它们可以让您的生活更轻松。
如果您正在构建Web应用程序,那么为什么要重新发明轮子?从many Python web frameworks中选择一个。有些(如果不是全部)抽象出数据库,因此您可以专注于您的应用程序及其功能。
答案 1 :(得分:0)
连接到数据库真的是这里的方式。这变得非常快,但就处理python sytax来说,它相当简单。这个答案很好地处理了这个问题:
How do I connect to a MySQL Database in Python?
如果您真的要与真实用户进行交互,您应该了解如何通过散列或其他方法正确保护其密码。 以明文形式存储密码是一个很大的禁忌。这是在Python中启动密码哈希的一个有趣的地方:
Python's safest method to store and retrieve passwords from a database
答案 2 :(得分:0)
使用SQLite或任何其他RDBMS,如PostgreSQL。 要将Python与RDBMS一起使用: https://wiki.python.org/moin/DatabaseInterfaces