【问题标题】:What is the most effective method of storing and recalling data?存储和调用数据的最有效方法是什么?
【发布时间】:2017-01-12 07:57:22
【问题描述】:

我一直想构建一个非常大的项目,它几乎可以模仿 Twitter,我刚刚启动它,但在创建帐户时遇到了一个小错误。我想知道存储和调用数据的最佳方法是什么。我很清楚我可以使用 .txt 文件来执行此操作,但后来我发现让程序识别数据结构比较棘手。

For example, the file might look like this:
acnt - twigman
pass - yellow

创建帐户的用户可能使用相同的名称,我需要停止这种情况,但我不知道如何让程序知道用户名的开始和结束位置。

如果我可以在 Python 程序中使用数据库,那将容易得多,这意味着程序可以仅作为一个文件运行,并且更容易编码。该程序还可以识别用户名的开头和结尾,而无需为其编写更多脚本。

感谢您的帮助。

【问题讨论】:

  • 使用数据库绝对是要走的路。

标签: python database import export


【解决方案1】:

连接到数据库确实是这里的方法。这变得非常快,但就处理 python 语法而言,它相当简单。这个答案很好地处理了这个问题:

How do I connect to a MySQL Database in Python?

如果您真的要与真实用户互动,您应该了解如何通过散列或其他方法正确保护他们的密码。 以纯文本形式存储密码是一个很大的禁忌。这是在 Python 中进行密码散列的一个有趣的起点:

Python's safest method to store and retrieve passwords from a database

【讨论】:

  • 谢谢,txt 文件是一个演示,当然,一旦我对程序本身感到满意,我会修改它以供实际使用!
【解决方案2】:

您对 Python 的期望很低。这是个好消息,因为你会很开心。

您绝对可以在 Python 中使用数据库。最简单、最快速的设置以及最接近您所描述的是文件数据库:SQLite。 Here 是一个很棒的入门教程。

如果你想坚持比比简单,你可以使用pickle moduleshelve module 来“持久化”你的数据

当然,一旦您的数据库规模显着增加,您可以继续使用 MySQL 或 PostgreSQL 或其他。

我鼓励您查看数据库抽象工具,例如 SQLAlchemy,因为它们可以让您的生活更轻松。

如果您正在构建一个 Web 应用程序,那么为什么要重新发明轮子呢?从many Python web frameworks 中选择一个。其中一些(如果不是全部)抽象出数据库,以便您可以专注于您的应用程序及其功能。

【讨论】:

    【解决方案3】:

    使用 SQLite 或任何其他 RDBMS,如 PostgreSQL。 要将 Python 与 RDBMS 一起使用: https://wiki.python.org/moin/DatabaseInterfaces

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2011-06-05
      • 2014-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多