@utsiye

Не получается удалить файл, почему?

Я создаю файл, с помощью пандаса, а после отправляю его через фляск, вот код:
@app.route('/download/<string:column_name>')
def download_handler(column_name):
    with open('inf.json','r+',encoding='utf8') as f:
        data=json.load(f)
    if len(data)>0 and column_name in data[list(data.keys())[0]]:
        df = pd.DataFrame.from_dict(data, orient='index')
        df_column = df[column_name]
        dt_column = df['datetime']
        result = pd.concat([df_column, dt_column], axis=1)
        i=1
        while os.path.exists(f'files/{i}'):
            i+=1
        os.mkdir(f'files/{i}')
        result.to_excel(f'files/{i}/{column_name}.xlsx', index=False)
        filename=f'files/{i}/{column_name}.xlsx'

А после отправления, я пытаюсь его удалить:
try:
    return send_file(filename, as_attachment=True)
finally:
    os.remove(filename)
    os.rmdir(f'files/{i}')

Но получаю ошибку:
PermissionError: [WinError 32] Процесс не может получить доступ к файлу, так как этот файл занят другим процессом:


Как это исправить? time sleep и open close не помогают.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы