Ho cercato una risposta semplice a questa domanda, ma sembra che non riesca a trovarne una. Preferirei stare lontano da qualsiasi libreria esterna che non sia già inclusa in Python 2.6/2.7.Importare le costanti dal file .h in python
ho 2 file header C analoghi ai seguenti:
//constants_a.h
const double constant1 = 2.25;
const double constant2 = -0.173;
const int constant3 = 13;
...
//constants_b.h
const double constant1 = 123.25;
const double constant2 = -0.12373;
const int constant3 = 14;
...
E ho una classe di pitone che voglio importare queste costanti in:
#pythonclass.py
class MyObject(object):
def __init(self, mode):
if mode is "a":
# import from constants_a.h, like:
# self.constant1 = constant1
# self.constant2 = constant2
elif mode is "b":
# import from constants_b.h, like:
# self.constant1 = constant1
# self.constant2 = constant2
...
Ho codice C che utilizza le costanti come bene, e assomiglia a questo:
//computations.c
#include <stdio.h>
#include <math.h>
#include "constants_a.h"
// do some calculations, blah blah blah
Come posso importare le costanti dal file di intestazione nella classe Python?
Il motivo per i file di intestazione constants_a.h e constants_b.h è che sto usando python per fare la maggior parte dei calcoli usando le costanti, ma a un certo punto ho bisogno di usare C per fare calcoli più ottimizzati. A questo punto sto usando i ctype per avvolgere il codice c in Python. Voglio mantenere le costanti lontane dal codice solo nel caso in cui avessi bisogno di aggiornarle o modificarle, e rendere il mio codice molto più pulito. Non so se è utile notare che sto usando anche NumPy, ma a parte questo, nessun'altra estensione Python non standard. Sono inoltre aperto a qualsiasi suggerimento riguardante il design o l'architettura di questo programma.
Ci scusiamo per il feedback tardivo di tutti. Avevo un nuovo, urgente progetto a cui stavo lavorando, e dovevo metterlo sul backburner. Al momento, sono bloccato tra le risposte di Cong e di Emilio. Probabilmente mi sposterò di più verso l'implementazione dei ctypes di Cong, ma mi piace ancora molto il metodo di analisi che usa 're'. Grazie per le grandi idee a tutti! –