python - 如何将锁应用于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 时,其他请求在写入完成之前无法读取?
解决方案
推荐阅读
- pentaho - 无法在 Ubuntu 服务器上启动 Pentaho
- javascript - 为什么highcharts上的第一个数据不像其他数据
- react-redux - 如何根据数据更新 state-React-redux 前后调用函数
- javascript - 尝试实现增量器
- bash - 使用 paramiko 与交互式 shell 调用时,shell 脚本的行为不同
- ios - 从一页到另一页的反应导航不起作用
- windows - 获取当前活动窗口的线程 ID
- sql - django.db.utils.NotSupportedError: FOR UPDATE 不能应用于外连接的可空端
- jspdf - 仅在 jspdf-autotable 3.1.1 中的第一页显示头部
- python - 估计的自由度不足