我一直在寻找这个问题的简单答案,但似乎找不到。我希望远离Python 2.6/2.7中尚未包含的任何外部库。
我有两个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_ab.h的原因是,我使用python来使用常量进行大多数计算,但有一点我需要使用C来进行更优化的计算。在这一点上,我使用ctypes将c代码包装成Python。我想让常量远离代码,以防我需要更新或更改它们,并使我的代码更干净。我不知道这是否有助于注意到我也在使用NumPy,但除此之外,没有其他非标准的Python扩展。我也愿意接受任何关于这个项目的设计或架构的建议。