我想寫 - 並理解 - 一些python代碼,我一直在努力實現如何導入python庫。讓我描述一下我的情況。Python庫模塊實現
我想模擬一個覆盆子pi唯一python庫(RPi.GPIO)爲了在我的(x86)筆記本電腦上運行一些unittests。爲了做到這一點,我想我應該只定義與GPIO類相同的函數,變量,並且具有所有的功能(僅傳遞)。所以我看了一下RPi.GPIO模塊。
儘管我認爲我會在那裏找到GPIO類方法的實際實現,但我實際上看到它們的身體是空的。例如:
def add_event_detect(*args, **kwargs): # real signature unknown
"""
Enable edge detection events for a particular GPIO channel.
channel - either board pin number or BCM number depending on which mode is set.
edge - RISING, FALLING or BOTH
[callback] - A callback function for the event (optional)
[bouncetime] - Switch bounce timeout in ms for callback
"""
pass
所以問題是,這個函數的實際實現在哪裏以及這個空實體的點是什麼? (只是關鍵字和文檔)如何以及由誰來重寫此方法並獲得所需的功能?
Python有一個'__import__'方法,當你導入某個東西的時候,它就是所謂的。您可能必須重寫以獲取該事件。以下是相關文檔:https://docs.python.org/2/library/functions.html#__import__ – Zizouz212
也許這是源代碼:http://sourceforge.net/p/raspberry-gpio-python/code/ci /default/tree/source/py_gpio.c#l676。如果您熟悉Java,那麼可以將Python庫編寫爲Python,它看起來類似於JNI開發。 –