python - 允许python文件添加到不同的文件linux

标签 python html linux ubuntu

我正在制作一个“ war 游戏”,就像 overthewire.org 或 smashthestack.org 上的那些游戏一样。完成游戏后,用户应该获得一个 python 程序,该程序具有编辑/var/www/html 中文件的额外权限,以便他们可以签名。我想要一个这样的程序,这样他们就可以在不删除其他用户文本的情况下将文本添加到 html 文件中,这样它就可以过滤冒犯性的词。

如何让 Linux 中的特定程序可以编辑文件?我怎样才能让程序在 python 中编辑文件?我只使用 os.system 吗?

最佳答案

我将回答您的问题,但也请您考虑另一种方法。

您正在寻找的功能通常由数据库处理。如果您不想使用任何更复杂的东西,SQLite 通常就是您所需要的。然后,您需要一个连接到数据库的简单 Web 应用程序,获取字段,然后将它们注入(inject) HTML。

我会为此使用 Flask,因为它与 Jinja 一起提供,这是一个非常简单的入门堆栈。

如果您真的想直接在 Python 中编辑 HTML 文件,您将需要运行 Python 脚本的任何用户的写入权限。在 Ubuntu 上,如果您运行的是 Apache,该文件夹通常归 www-data 所有。

然后您将在 Python 中打开该文件,对其执行文件操作,然后将其关闭。

打开(“/var/www/html/somefile.txt”,“a”)作为我的文件: myfile.write("l33t h4x0r 已​​完成挑战!\n")

这是您如何在 Python 中执行简单追加操作的示例。

关于python - 允许python文件添加到不同的文件linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42446403/

相关文章:

linux - Windows 10 上的 Apache Zeppelin 0.7.0 - 解释器问题

python - Pandas 过滤数据框以仅显示包含零的行

python - Chrome 已关闭,错误为 ERROR :network_change_notifier_win. cc(141)] WSALookupServiceBegin 失败,原因为:0

javascript - 将 id 从模板传递到 django 中的 View

javascript - 两侧的 CSS 垂直菜单

C 多个进程写入 1 个管道

Python folium - Markercluster 无法使用 GroupedLayerControl 进行迭代

javascript - jQuery 函数的问题

javascript - 为什么即使没有分隔符,JavaScript split() 方法也会返回一个数组?

linux - 在用户 exand 键入时在命令行上填写命令