使用Python和平面文件数据库进行服务器端

时间:2014-07-13 21:21:30

标签: python web

我无法访问PHP服务器,也无法在机器I上访问Mysql等数据库。使用Python代替PHP和平面文件数据库而不是Mysql是否可行?我不太关心性能或可扩展性。这不像我要创建下一个Facebook。我只是想从服务器加载数据并在网页上显示它,并可能处理一些输入表单。我的推理还有什么重大缺陷吗?或者有没有其他方法可以避免服务器上缺少PHP和数据库?

4 个答案:

答案 0 :(得分:2)

在服务器上使用Python是一个较长的故事,因为Python和PHP无法比较。看看Python + Django,然后想想你想做什么。请参阅:https://www.djangoproject.com

使用Python编写服务器端脚本并不困难,并且WSGI接口运行良好。但是,如果要获得与PHP等效的功能,通常需要多层软件。

第二个问题 - 数据库 - 更容易。 Python带有SQLite3接口,所以你有一个只有一个DB文件的完全SQLish数据库。 SQLite使用非常广泛且通常可靠。有关sqlite3模式的详细信息,请参阅:https://docs.python.org/2/library/sqlite3.html

答案 1 :(得分:1)

Python与sqlite3模块捆绑在一起,可以访问SQLite数据库。唯一的缺点是,在任何给定时刻,只有一个线程可以对其进行写锁定。

答案 2 :(得分:1)

有许多方法可以提供Python应用程序,但您应该看看使用WSGI标准执行此操作的方法。很多框架都会让你这样做:金字塔,Pylons,Django,..... 如果你没有选择一个,那么值得看看你的长期要求以及你已经知道的事情。

就DB而言,有很多选择。已经提到过SQLlite,但是还有许多其他数据库不需要服务器进程。如果您只存储少量数据,那么平面文件可能适合您,但任何更大或更重要的关系,请查看SQLlite。

答案 3 :(得分:1)

如果您希望进入Python进行Web开发,请查看Flask框架。

有许多示例使用平面文件来提供数据,而不是数据库。

请参阅James Sharding撰写的blog post,其中讨论了如何使用Flask-FlatPages来处理文件中的内容。

您也可以轻松地对此进行调整以提供直接文本(而不是将其解析为Markdown)。

最终结果是一个精简,强大的系统,可以避免数据库的开销。

正如其他答案所示,使用SQLite是另一个很好的选择。