我在Openshift中遇到python代码问题。
我的app上有一个子域名,我必须打开一个json格式的txt文件。
from flask import Flask
from flask import render_template
import json
app = Flask(__name__)
@app.route("/")
def index():
return render_template("home.html")
@app.route('/casestudy1')
def cs1():
json_data = open("cs1.txt")
data = json.load(json_data)
....do my staff....
return render_template("cs1.html")
如果我从cs1()
删除前两行,该应用程序就可以完美运行。我试图从命令行运行flask localy,它也在那里工作。 cs1.txt
文件与main.py在同一个根目录中。
错误:内部服务器错误
服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序出错。
日志错误:
json_data = open("cs1.txt")
IOERROR: [Errno2] No such file or directory: cs1.txt
申请根:
-wsgi
-static
-css
-js
-templates
-cs1.html
-main.py
-cs1.txt
答案 0 :(得分:5)
我发现了问题。
import os
json_data = open(os.path.join(os.path.dirname(__file__),"cs1.txt"),'r')
而不是
json_data = open("cs1.txt")