2016-09-07 126 views
-2

我在C中有一個源代碼,我想用Python編寫它。我有我的C代碼的.so庫文件,是否可以將.so文件更改爲.py lib文件以供執行?用Python編寫源代碼

如果是這樣,我該如何執行我的python文件? 我的意思是爲了在Python運行C,我們使用類似如下:

gcc -shared -I/usr/include/python2.3/ -lpython2.3 -o myModule.so myModule.c 

所以是有這樣的事情來執行我的Python文件或者我可以只使用導入命令來執行?

+3

我不清楚你是要求從python訪問動態鏈接的庫,還是要將C代碼移植到python,只是想知道python的模塊系統是如何工作的 –

回答

1

您可以使用Python的ctypes模塊來加載so文件並使用它們的功能。
看看第二個答案here

+0

我是編程的新手,從學習Python開始。如果我的問題不清楚,請道歉。我將重寫Python中的源代碼(即C語言)。但是,後來我意識到,僅僅用python編寫代碼將不夠,因爲我的C代碼的lib文件在C中。我的問題是當庫用C編寫時,我應該如何執行我的python代碼?我在lib中有.so和.a文件。 –

+0

@AARon,你還很不清楚。如果你有一個你想通過Python執行的'so'文件,使用'ctypes'很容易。其他將C代碼轉換爲python的方法肯定會降低效率。 – galah92

+0

好的。非常感謝..是的,我有一個這樣的文件,我想通過Python來執行它,所以我會看看Python的類型。 –