Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何托管、写入文本文件并将其推送到git repo_Python_Google App Engine_Heroku_Git Remote_Gitpython - Fatal编程技术网

Python 如何托管、写入文本文件并将其推送到git repo

Python 如何托管、写入文本文件并将其推送到git repo,python,google-app-engine,heroku,git-remote,gitpython,Python,Google App Engine,Heroku,Git Remote,Gitpython,我有一个非常具体的问题,我绝对没有经验,希望得到一些指导 我在我的网站上托管了一个简单的HTML/JS表单,它要求输入一个电话号码,然后在提交时,用这个号码向我用Google app Engine托管的Python应用程序发出请求,然后Google app Engine运行一个API将文本发送到该号码 到目前为止,这是行之有效的。但我希望能够将该数字存储到一个简单的文本文件中,并将其推送到我的git repo,因为我有一个Heroku应用程序,它会监听每次推送,以重新部署该应用程序,并运行一个计

我有一个非常具体的问题,我绝对没有经验,希望得到一些指导

我在我的网站上托管了一个简单的HTML/JS表单,它要求输入一个电话号码,然后在提交时,用这个号码向我用Google app Engine托管的Python应用程序发出请求,然后Google app Engine运行一个API将文本发送到该号码

到目前为止,这是行之有效的。但我希望能够将该数字存储到一个简单的文本文件中,并将其推送到我的git repo,因为我有一个Heroku应用程序,它会监听每次推送,以重新部署该应用程序,并运行一个计划任务,向现在更新的列表中的每个数字发送一条常规文本消息

我遇到的问题是找出这个数字文本文件的宿主位置以及如何写入它,然后使用像gitpython这样的库进行推送

这一切都可以在本地运行,但当应用程序由Google app Engine/Heroku构建和部署时就不行了

但我希望能够将该数字存储到一个简单的文本文件中,并将其推送到我的git repo,因为我有一个Heroku应用程序,它会监听每次推送,以重新部署该应用程序,并运行一个计划任务,向现在更新的列表中的每个数字发送一条常规文本消息

我相信这不是你想听到的,但是在文本文件中硬编码数据并在每次数据更改时重新部署应用程序没有多大意义。数据和代码是根本不同的东西;更改数据不应要求重新部署应用程序

此外,还不清楚您在哪里编写该文件,但如果该文件位于Heroku服务器上,您将遇到其他问题。它的文件系统是,例如,如果您试图通过heroku run bash查看保存的文件,您将看不到它(在运行的web dyno上运行,而不是在运行的web dyno上运行),并且它将在24小时内丢失

将数据保存在适当的客户机-服务器数据库而不是文本文件中可以解决这两个问题

(我不熟悉谷歌应用程序引擎,但它可能有类似的限制。即使不熟悉,这仍然是一个更好的架构。)

但我希望能够将该数字存储到一个简单的文本文件中,并将其推送到我的git repo,因为我有一个Heroku应用程序,它会监听每次推送,以重新部署该应用程序,并运行一个计划任务,向现在更新的列表中的每个数字发送一条常规文本消息

我相信这不是你想听到的,但是在文本文件中硬编码数据并在每次数据更改时重新部署应用程序没有多大意义。数据和代码是根本不同的东西;更改数据不应要求重新部署应用程序

此外,还不清楚您在哪里编写该文件,但如果该文件位于Heroku服务器上,您将遇到其他问题。它的文件系统是,例如,如果您试图通过heroku run bash查看保存的文件,您将看不到它(在运行的web dyno上运行,而不是在运行的web dyno上运行),并且它将在24小时内丢失

将数据保存在适当的客户机-服务器数据库而不是文本文件中可以解决这两个问题


(我不熟悉Google App Engine,但它可能有类似的限制。即使不熟悉,这仍然是一个更好的架构。)

如果需要帮助,您应该解释在Google App Engine+Heroku上运行它时遇到的问题。也就是说,将用户数据存储在git回购中听起来是个坏主意。您应该使用Google App Engine或Heroku的持久存储选项。谢谢,@nog642!我不知道他们的持久存储选项。我会查一下。Heroku至少没有持久存储选项。如果你需要帮助,你应该解释一下在Google App Engine+Heroku上运行它时遇到的问题。也就是说,将用户数据存储在git回购中听起来是个坏主意。您应该使用Google App Engine或Heroku的持久存储选项。谢谢,@nog642!我不知道他们的持久存储选项。我会查的。至少Heroku没有持久存储选项。谢谢,Chris!了解短暂的/dyno本地文件系统肯定很有见地。我也这么怀疑,因为我的代码会在本地工作,但在web上托管时不会工作,所以最好能得到一个明确的答案。那么,您对在线托管此类文件有何建议?我想到了Django,但我不确定对于像文本文件这样简单的东西来说,这是否是过分的。你不需要Django,只需要一个数据库。有一个免费的层次,应该做的比你需要的更多,或选择。或者,如果您真的想继续使用文件,请将其存储在类似AmazonS3或Azure Blob存储的设备上。谢谢!我尝试了一下PostgreSQL Heroku插件,除了连接到db的简单问题外,它工作得非常好。耶!谢谢你,克里斯!了解短暂的/dyno本地文件系统肯定很有见地。我也这么怀疑,因为我的代码会在本地工作,但在web上托管时不会工作,所以最好能得到一个明确的答案。那么,您对在线托管此类文件有何建议?我想到了Django,但我不确定对于像文本文件这样简单的东西来说,这是否是过分的。你不需要Django,只需要一个数据库。有一个免费的层次,应该做的比你需要的更多,或选择。或者,如果您真的想继续使用文件,请将其存储在类似AmazonS3或Azure Blob存储的设备上。谢谢!我尝试了一下PostgreSQL Heroku插件,除了连接到db的简单问题外,它工作得非常好。耶!