openshift django打开并写入文本文件

时间:2018-07-31 13:39:44

标签: django-views openshift

我用django创建了一个调查表,在我看来,py作为函数的一部分包含以下代码

 if text is not None:
    for answer in datas:
        f=open('/Users/arsenios/Desktop/data.txt', 'a')
        f.write(answer+",")
    f.write("\n")
    f.close()

这在本地工作正常。它在桌面上创建一个文本文件夹,并用完成该任务的每个人的数据填充它。当我使用openshift运行代码时,我得到:
“ [Errno 2]没有这样的文件或目录:'/Users/arsenios/Desktop/data.txt'”。

我看到有些人问并提到“ OPENSHIFT_DATA_DIR”,但我觉得有些步骤尚未包括在内。我不知道应该对settings.py和views.py进行什么更改。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

OPENSHIFT_DATA_DIR来自OpenShift 2,未在OpenShift 3中设置。

更大的问题是,这是一个临时文件还是需要在应用程序容器的重新启动之间保持不变。如果是临时文件,请使用/tmp目录下的名称。如果需要持久化,那么您需要查看装入持久性卷以将数据保存到其中,或者着眼于使用具有自己的持久性存储的单独数据库。

有关使用OpenShift 3的一些基本原理的解释,建议您查看以下免费电子书:

答案 1 :(得分:0)

我设法解决了。事实证明,数据已在openshift中保存在data.txt中,我必须使用的命令是oc rsync pod:/opt/app-root/src/data.txt /path/to/directory。该命令将data.txt文件从openshift下载到我想要的目录中。因此,就我而言,我不得不使用oc rsync save-4-tb2dm:/opt/app-root/src/data.txt /Users/arsenios/Desktop