with io.open("filepath/filename",mode="w",encoding="utf8") as file:
file.write(jsondata)
但似乎有点不对劲。我的flaskapp返回500并且没有错误日志
但当我移除它时,一切都可以正常运行。
我该怎么办?
如果您使用的是OpenShift 2,那么您的web应用程序很可能是在Apache/mod_wsgi下运行的。在这种情况下,您不应该使用相对路径名,因为应用程序的当前工作目录实际上是未定义的,并且可能是不可写的。而是构造一个绝对路径名。根据文件的用途,如果可能需要持久化,最好将文件写入由OPENSHIFT_DATA_DIR
环境变量指定的数据目录中。如果是临时文件,则为OPENSHIFT_TMP_DIR
。目录的重要变量的详细信息可以在以下位置找到:
- https://developers.openshift.com/managing-your-applications/environment-variables.html#directory-变量
至于为什么你没有看到任何错误,这可能是因为Flask在生成500响应时吞下了错误。您需要配置Flask来记录错误的详细信息。