Вот полное решение вашей проблемы:
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()
Вот вывод:
Объяснение:
В моем примере я поместил его на /
маршрут, но вы можете поместить его в любое место.
Всякий раз, когда я иду на /
маршрут, я получаюОтвет JSON.os.getcwd()
возвращает мне текущий каталог, но я соединяю два пути, используя функцию os.path.join()
.Из документации Python:
Интеллектуальное объединение одного или нескольких компонентов пути.
Подробнее о документации Python можно прочитать больше.Далее, поскольку я получаю путь к training_data
, мне нужно снова присоединиться к пути к training_data
и файлу.И я возвращаю данные JSON.Если что-то пойдет не так, вы можете напечатать traceback в предложении except
, а также вернуть данные, чтобы колба не выдавала ошибку для возврата ответа пользователю.
PS
training_data
папка находится на том же уровне, что и ваша колба.