2017-10-02 1 views
1

im en utilisant Python 3.6 et la bibliothèque dbf https://pypi.python.org/pypi/dbf ainsi que le fichier exemple dbase_30.dbf & dbase_30.fpt de https://github.com/infused/dbf/tree/master/spec/fixtures. l'exécution de ce code entraîne une erreur.Bibliothèque dBase - en essayant de supprimer un enregistrement

import dbf 

dbase_30 = dbf.Table('dbase_30.dbf') 
dbase_30.open() 

print("Table size: {}".format(dbase_30.__len__())) 

dbase_30[0].delete_record() 

enter image description here

que je fais quelque chose de mal ici?

Répondre

1

Le lien infused est pour un paquet Ruby, donc cela ne sera pas d'une grande aide.

  • dbase_30 ci-dessus est un tableau;
  • dbase_30[0] est un enregistrement de la table
  • la commande de supprimer des enregistrements est une fonction de niveau du module appelé delete

Donc, si vous voulez supprimer le premier enregistrement:

dbf.delete(dbase_30[0]) 

Cela marque seulement l'enregistrement comme supprimé, il ne le supprime pas réellement. Pour supprimer tous les enregistrements supprimés:

dbase_30.pack() 
+0

Merci, cela fonctionne maintenant. J'ai réalisé que vous êtes l'auteur de la bibliothèque. Peut-être que vous devriez mettre à jour la documentation parce que le .delete_record() est toujours là. – mash