在heroku上部署时如何使用python读取和写入文本文件

时间:2021-04-01 06:54:07

标签: python heroku text-files

我使用机器人将用户发送的文件(文件 ID)写入文本文件,然后从该文本文件中读取(文件 ID),然后将其发送回用户。该方法有效,但是当我将其部署到 Heroku,我无法再查看、处理或下载文本文件。

有没有办法查看我们部署到 heroku 的文本文件?或者有没有办法在云网站上上传文本文件,然后让机器人使用文本文件 URL 打开(读取和写入)文本文件(但我认为这将允许互联网上的任何用户访问和修改我的文本文件,这意味着它不安全)?创建 SQL 数据库并上传文本文件并将每个文本文件链接到自己的 URL(但我是 SQL 新手)?

有没有其他简单的方法可以解决这个问题?在这种情况下,您建议我怎么做?

https://github.com/zieadshabkalieh/a

注意:我的代码中名为 first.txt 的文本文件

1 个答案:

答案 0 :(得分:0)

Heroku 有一个 ephemeral 文件系统:当有新的部署或应用程序重新启动时,应用程序创建的每个文件都将被删除(以及对应用程序部署的现有文件的任何更改)。
Heroku Dynos 也会每 24 小时重启一次。

将数据保存到远程存储(如 S3)或数据库是个好主意(总是一个不错的选择,但需要做更多的工作)。

对于读取/写入简单文件,您可以使用一些 Python 示例和选项检查 HerokuFiles 存储库。我建议使用 S3(使用 Python boto 模块),因为它易于使用,即使文件的数量/大小有一天会增加。