Импортировать константы из файла .h в python

я искал простой ответ на этот вопрос, но, похоже, я могунайти его. Я предпочел бы держаться подальше от любых внешних библиотек, которые неt уже включен в Python 2.6 / 2.7.

У меня есть 2 c заголовочные файлы, которые похожи на следующее:

//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;

...

И у меня есть класс Python, в который я хочу импортировать эти константы:

#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

...

У меня есть код C, который также использует константы, и выглядит так:

//computations.c
#include 
#include 
#include "constants_a.h"

// do some calculations, blah blah blah

Как я могу импортировать константы из файла заголовка в класс Python?

Причина для заголовочных файлов constants_a.h и constants_b.h заключается в том, что я использую python для выполнения большинства вычислений с использованием констант, но в какой-то момент мне нужно использовать C для более оптимизированных вычислений. На данный момент я использую ctypes, чтобы обернуть код c в Python. Я хочу держать константы подальше от кода на тот случай, если мне понадобится обновить или изменить их, а также сделать мой код намного чище. Я неНе знаю, поможет ли это отметить, что я также использую NumPy, но кроме этого, нет других нестандартных расширений Python. Я также открыт для любых предложений относительно дизайна или архитектуры этой программы.

Ответы на вопрос(4)

Ваш ответ на вопрос