Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Using C codes in Python | Set 2

  • Last Updated : 18 Mar, 2019

Prerequisite: Using C codes in Python | Set 1

In the previous article, we have discussed how to access C code in Python. Now, let’s see how to access C functions.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Code #1 : Accessing C functions with Python

import work
print ("GCD : ", work.gcd(35, 42))
print ("\ndivide : ", work.divide(42, 8))
print ("\navg : ", work.avg([1, 2, 3]))
p1 = work.Point(1, 2)
p2 = work.Point(4, 5)
print ("\ndistance : ", work.distance(p1, p2))

Output :

GCD : 7

divide : (5, 2)

avg : 2.0

distance : 4.242640687119285

Issue ?
Now the work done above has an issue that for the overall packaging of C and Python code together, using ctypes to access C code that has been compiled, one has to make sure that the shared library gets placed in a location, where the module can find it. One possibility is to put the resulting file in the same directory as the supporting Python code.

So, if the C library is installed elsewhere, then path has to be adjusted accordingly. If it is installed as a standard library on the machine, then ctypes.util.find_library() function can be used.

Code #2 : Path Example

from ctypes.util import find_library

Output :




Again, ctypes won’t work at all if it can’t locate the library with the C code. ctypes.cdll.LoadLibrary() is used to load the C library, once it’s location is known.

_mod = ctypes.cdll.LoadLibrary(_path)

My Personal Notes arrow_drop_up
Recommended Articles
Page :