2

我对 Openshift 中的 python 代码有疑问。

我的应用程序上有一个子域,我必须在其中打开一个 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()就完美了。我尝试从命令行本地运行烧瓶,它也可以在那里工作。该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
4

1 回答 1

5

我发现了问题。

import os
json_data = open(os.path.join(os.path.dirname(__file__),"cs1.txt"),'r')

代替

json_data = open("cs1.txt")
于 2013-10-26T17:30:56.270 回答