是的,我知道,但它是总结我想要做的唯一方法。如何“有条件地编译”python
为了打开一个串口我想用:
portfd = os.open(portname, os.O_RDWR | os.O_NONBLOCK)
问题是,O_NONBLOCK无法在Windows下存在的,这意味着它在这里炸毁。我正在Windows下进行测试,以便在支持非阻塞的操作系统下进行部署。
所以我真正想要的是让O_NONBLOCK消失或者让它为#define为0,这样我就可以在没有错误的情况下开展业务。
任何想法? PS:请不要解释如何编译/解释python。我明白了,但我正在尝试传达一个想法。
只需尝试:使用'try:',捕获异常并使用支持的标志 –
重新编辑:如果您在Python中询问有关条件编译和'#define's,您显然没有意识到完全扩展Python的评估模型,特别是动态性。 – delnan
是的,“动态”可能仍在沉入。 – Thom