You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python3的dbf库创建DBF文件时遇读写模式错误求助

解决Python dbf库写入DBF文件的模式错误问题

看起来你遇到的问题是对dbf库的open方法模式参数理解有误,咱们一步步来梳理:

第一个错误的根源

你看到的错误提示看起来很矛盾:

dbf.DbfError: mode for open must be 'read-write' or 'read-only', not 'read-write'

其实这是个小坑——这个库的open方法实际接受的模式参数是不带连字符的'readwrite',而不是你写的'read-write'。虽然错误提示里写了'read-write',但这是文档/错误提示的小疏漏,实际要传的是'readwrite'。

修正后的代码

把模式参数改成'readwrite',或者直接使用库提供的常量dbf.READ_WRITE(更推荐,避免拼写错误),完整代码如下:

import dbf

# 创建表结构
tbl = dbf.Table('sample.dbf', 'ID N(6,0); FCODE C(10)') 
# 使用正确的读写模式打开
tbl.open(dbf.READ_WRITE) 
# 追加空记录
tbl.append() 
# 写入数据到最后一条记录
with tbl.last_record as rec: 
     rec.ID = 5 
     rec.FCODE = 'GA24850000'
# 关闭表,确保所有修改写入磁盘
tbl.close()

额外注意事项

  • 如果你省略open的参数,默认是只读模式,所以会触发第二个错误not in read/write mode, unable to append records,这就是为什么必须显式指定读写模式。
  • 操作完成后务必调用tbl.close(),否则可能出现数据未完全写入磁盘的情况。

内容的提问来源于stack exchange,提问作者Никита Седавных

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:11:32