Импортировать константы из файла .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. Я также открыт для любых предложений относительно дизайна или архитектуры этой программы.