在Flask中打开文件时获取异常

时间:2018-11-22 14:05:03

标签: python flask postman

尝试从目录中读取文件时,向api发送邮递员请求时出现错误。

JComboBox

我遇到以下异常:

JTable

当我获取目录中所有文件列表时,为什么无法打开文件并读取数据?

1 个答案:

答案 0 :(得分:1)

这里是您问题的完整解决方案:

from flask import Flask, jsonify
import os
app = Flask(__name__)


@app.route('/')
def hello_world():
    cwd = os.getcwd()
    path = os.path.join(os.getcwd(), 'training_data')
    try:
        for file in os.listdir(path):
            path_and_file = os.path.join(path, file)
            data = open(path_and_file, 'r').readlines()
            print(data)  # To print everything from a file
        return jsonify("Files successfully opened", path, cwd, os.listdir(path))

    except:
        return jsonify("There was error opening files", path, cwd, os.listdir(path))


if __name__ == '__main__':
    app.run()

以下是输出:

Response of postman

说明

在我的示例中,我将其放置在/路线上,但是您可以将其放置在任意位置。

每当我去/路线时,我都会得到JSON响应。 os.getcwd()为我获取当前目录,但是我使用os.path.join()函数加入了两个路径。来自python文档:

  

智能地加入一个或多个路径组件。

您可以阅读有关python文档的更多信息。接下来,由于我获得了training_data的路径,因此我需要再次加入training_data的路径并归档。然后我返回JSON数据。如果有任何问题,可以在except子句中打印回溯并返回数据,以使flask不会因不向用户返回响应而引发错误。

P.S。

training_data文件夹与flask应用程序处于同一级别。