KrysKhales a écrit 2 commentaires

  • [^] # Un piste ???

    Posté par  . En réponse au message librairie pyfits: problème avec del_col. Évalué à 1.

    Dans la meme optique, j'ai appliqué la méthode 'bourrin'... j'ai commenté la ligne contenant self.nfields -= 1 dans le fichier pyfits.py et là, tout marche à merveille. La colonne est bien effacée... maintenant, j'ignore s'il y a des conséquences facheuses et subtiles.

    J'arrive à la conclusion, soit il y a un problème avec le del_col ou soit il y a une subtilité dans son usage. Mais manifestement sur tout le web, je suis le seul à vouloir effacer des colonnes d'une table fits puisque je n'ai trouvé aucun exemple où quelqu'un utilise le del_col ...
  • [^] # Re: trouvé ça

    Posté par  . En réponse au message librairie pyfits: problème avec del_col. Évalué à 1.

    Suite à ta proposition, j'ai ouvert le fichier pyfits.py pour comprendre ce qui se passe. Voici le code du del_col qui est ce que tu as renseigné dans ton message:
    2910     def del_col(self, col_name):
    2911         """Delete (the definition of) one Column."""
    2912         indx = _get_index(self.names, col_name)
    2913
    2914         for cname in _commonNames:
    2915             attr = getattr(self, cname+'s')
    2916             del attr[indx]
    2917
    2918         del self._arrays[indx]
    2919         self._nfields -= 1
    
    A part le fait que l'instruction qui devrait marché,puisque la procedure ne retourne rien, est
    listcolumns.del_col("toto")
    Mais j'obtiens toujours le meme message d'erreur. Il a l'air ne pas aimer le _nfields et j'ignore pourquoi.