1

我有一个使用 .dbf 和 .fpt 文件的旧应用程序。我正在寻找读取和写入这些文件,我已经找到了一种写入这些文件但不使用 fpt 备忘录的方法。我正在使用 python 2.7.2 和 dbf 模块 0.95.02。当我尝试使用dbf 模块时,我在尝试使用 FpTable 时遇到错误。

>>> import dbf
>>> table = dbf.FpTable('test','name C(25); age N(3,0); qualified M')
>>> table
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/doctor/.virtualenvs/dbf/lib/python2.7/site-packages/dbf.py", line 4428, in __repr__
    return __name__ + ".Table(%r, status=%r)" % (self._meta.filename, self._meta.status)
  File "/Users/doctor/.virtualenvs/dbf/lib/python2.7/site-packages/dbf.py", line 4213, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'Db3Table' object has no attribute '_meta'
>>> table.open()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/doctor/.virtualenvs/dbf/lib/python2.7/site-packages/dbf.py", line 4953, in open
    meta = self._meta
  File "/Users/doctor/.virtualenvs/dbf/lib/python2.7/site-packages/dbf.py", line 4213, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'Db3Table

我正在寻找一个使用 fpt 备忘录来读取和写入 dbf 文件的方法。创建索引文件 .cdx 的能力将是一个理想的选择。我愿意以任何方式做上述任何事情。

4

1 回答 1

0

Short answer is don't use FpTable directly. You should be able to, but I've never actually tried since I always use Table(name, fields, dbf_type='fp').

Thanks for the round-a-bout bug report. ;)

于 2013-05-22T03:11:01.050 回答