Использование Python для записи таблицы dbf с заметками fpt

У меня есть устаревшее приложение, которое использует файлы .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

Я хочу создать файл для чтения и записи файлов dbf с заметками fpt. Возможность создавать индексные файлы .cdx была бы идеальной. Я открыт для любого способа сделать что-либо из вышеперечисленного.


person Akama    schedule 22.05.2013    source источник


Ответы (1)


Короткий ответ: не используйте FpTable напрямую. Вы должны быть в состоянии, но я никогда не пробовал, так как я всегда использую Table(name, fields, dbf_type='fp').

Спасибо за подробный отчет об ошибке. ;)

person Ethan Furman    schedule 22.05.2013