首页 > 解决方案 > 如何将锁应用于python中的整个读写操作?

问题描述

以下是 Flask POST api 端点中的代码。

df1 = pd.read_csv(r'postapi.csv')
df2 = {'user': user, 'target': target}
df1=df1.append(df2, ignore_index=True)
df1.to_csv(r'postapi.csv',index=False)

我想将每个端点请求存储到一个 csv 文件中。

问题是 - 当发出多个请求时,就会错过写入。例如,当 2 个请求被触发时,两者都将读取文件的 1 个版本并最终附加自己的记录并保存文件。因此,最终文件中将遗漏其中一个附加内容。

有没有办法对读取、附加、写入进行锁定 - 这样当一个端点请求已读取 csv 时,其他请求在写入完成之前无法读取?

标签: pythonflask

解决方案


推荐阅读