gpt4 book ai didi

python - 日历/日期计划器的最佳数据结构是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:52 27 4
gpt4 key购买 nike

我是一名中级程序员。我非常了解 C,对 Java 也有些了解,并且刚刚使用 Python、Shell 和 Applescript 完成了一些非常基础的编程。我正在为 Mac OSX 编写程序。

我想创建一个应用程序来为我计划我的一天,并让我为不同的项目安排截止日期。

我的想法是,我可以告诉程序我的任务截止日期为 2012 年 4 月 1 日,并且大约需要 80 个小时。然后,该程序将根据多种因素选择时间和日期来安排专用于该任务的时间 block 。

这意味着,我需要程序对大量日期的时间有细粒度的了解。我需要至少 30 分钟的时间间隔来划分每一天。每个 30 分钟的 block 都需要检查是否为该时间安排了任务,以及将任务分配给该 block 的可能性。

所以这些 30 分钟的时间 block 必须每天都存在,显然程序会知道很多天,至少我会说一年或 365 天。

关于如何存储数据,我正处于十字路口。我还没有任何使用数据库的经验,所以我不确定这是否是一个解决方案,或者涉及什么。

您将如何解决这个问题?对于这个问题,我首选的语言是 C 和/或 Python。

感谢您提供的所有见解。

最佳答案

我建议使用 sqlite3。在这里查看 python 的 api http://www.python.org/dev/peps/pep-0249/ .

您可以使用具有相同 api 的另一个关系数据库,但对于您的应用程序的规模,sqlite3 提供了一些易用性优势,并且您可以随时切换数据库。它对您的应用程序来说简单明了。此外,它是更典型的关系数据库,因此您将能够找到大量信息。

您可以使用一种更流行的非关系型,例如 http://www.mongodb.org/ ,如果您没有使用 SQL 的经验,这可能更容易掌握(虽然我不确定,请自己看看。)Mongo 支持多种驱动程序(http://www.mongodb.org/display/DOCS/驱动程序),但我确实建议使用 python 来实现这样的东西,以便于实现。 IE。 http://docs.python.org/library/calendar.html非常好。

此外,还有像https://storm.canonical.com/Tutorial这样的东西对于 sqlite3 和 http://mongoengine.org/对于 MongoDB。根据您的经验和项目范围,这些可能非常值得学习。确实,随着事情变得越来越大和越来越复杂,使用 ORM 层变得更值得。另一方面,如果您非常熟悉 SQL 和关系数据库架构,则可能不值得为单独的项目学习新的 API。

关于python - 日历/日期计划器的最佳数据结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441104/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com