如何在python中使用dbfmodule忽略已删除的记录?

2024-10-04 05:32:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python2.7中使用的是ethanfurman版本0.96.005(最新版本)的dbf模块,使用的是老式的FoxPro2.x表。因为我想忽略已删除的记录,所以在分配tbl = dbf.Table(dbf_path)之后设置tbl.use_deleted = False。我试图在打开表之前和之后进行设置with tbl.open('read-only') as tbl: ...,但是 这和那似乎都没有任何效果。在

我尝试过:

for rec in tbl:
    if not rec.has_been_deleted and ...

但这给了我:

^{pr2}$

我在做s.th吗。错了?或者,这个特性不再可用了(就像5年前一样——见Visual Fox Pro and Python)?在


Tags: 模块andpath版本falseuse记录table
1条回答
网友
1楼 · 发布于 2024-10-04 05:32:09

use_deleted和{}不再存在,已被函数is_deleted替换。在

所以你在这一点上的选择是(假设一个from dbf import is_deleted):

# check each record
for rec in tbl:
    if is_deleted(rec):
        continue

或者

^{pr2}$

然后重复这些:

# check active records
for rec in active_records:
    ...

相关问题 更多 >