Ctypes python

Ctypes python
«Le module Python CTYPES sera examiné dans cet article. Lors de la mise en œuvre du code Python, nous ressentirons généralement l'exigence d'inclure des méthodes qui ont peut-être été créées dans un autre domaine. L'une des raisons les plus fréquentes à cela est que Python est plus lent que les autres langages de programmation tels que C ou C++. Les performances peuvent être considérablement améliorées en effectuant des calculs complexes dans une langue rapide et efficace."

En réalité, certains modules Python, comme Numpy et OpenCV, utilisent des capacités C ou C ++. Le module Python Ctypes rend possible pour les utilisateurs d'intégrer des modules comme celui-ci et d'utiliser leurs méthodes.

Pour discuter de la gestion du stockage dans CTYPES, quelques procédures peuvent servir de fondation. Le fait que les utilisateurs n'aient pas à passer plus de temps à gérer le stockage de données a été l'un des meilleurs aspects de la passage de la langue C à la langue python. Le langage qui acquiert le stockage doit immédiatement le libérer lors de l'utilisation de CTYPES ou de toute autre technique. Nous montrerons également comment charger une bibliothèque C et appeler ses fonctions.

Nous exécuterons une variété de codes sur Ubuntu 20.04 Dans cet article. Avant d'entrer dans les commandes, nous accédons d'abord au terminal.

Nous exécuterons la commande $ nano sum.c. Le mot-clé «nano» est utilisé pour ouvrir le fichier requis. Ici, nous devons ouvrir la somme.c fichier.

$ nano somme.c

Le fichier de Nano Sum.C sera ouvert avec succès en exécutant la commande ci-dessus. Avant toute autre chose, nous allons construire notre_fonction (). Nous avons donné à cette fonction deux paramètres, qui incluent «num_numbers» et un pointeur. L'argument «num_numbers» représente les nombres totaux que nous avons, et le paramètre du pointeur pointe vers le nombre.

À l'étape suivante, nous initialisons la variable «i». Nous déclarons une «somme» variable et la définissons pour être 0. De plus, nous utiliserons la boucle «pour». Nous allons itérater chaque valeur de i = 0 jusqu'à ce que la valeur de la variable de boucle «i» soit inférieure à Num_numbers. Dans la dernière partie de la boucle «pour», nous faisons une incrimination dans la valeur de «i» par 1. Dans la boucle «pour», nous ajouterons les nombres [i] à la variable «SUM». En fin de compte, nous avons utilisé l'instruction RETOUR. Cela renvoie la valeur de somme. L'image précédente montre le code source du fichier.

Nous appuyerons sur Ctrl + X pour quitter la somme.c fichier. Maintenant encore une fois, nous ouvrons le terminal. Commençons à utiliser CTYPES pour intégrer un module simple avec une seule méthode dans le script Python. Cependant, nous ne pouvons pas associer une norme .c fichier. La commande peut être utilisée pour créer un package standard, ce que nous devons faire.

Donc, nous avons entré la commande CC -FPIC -Shared -o Libsum.donc à partir de la somme.c. Nous avons attribué l'extension .C au fichier. Tout nom sera utilisé pour donner le nom du fichier mais conserver les extensions en considération tout en utilisant cette commande.

Dans l'étape, nous exécuterons la commande «dir» pour ouvrir le répertoire «Libsum.So Summer.C ".

$ dir

Après avoir ouvert le répertoire, nous créerons un nouveau fichier appelé test.py. Nano serait appliqué pour ouvrir ce fichier.

$ test nano.py

Après avoir ouvert le test.fichier py, nous commençons le codage. Les CTYPES doivent être intégrés dans le code au début. Ensuite, nous créons une «somme» variable, qui vient par les CTYPES.Cdll ("./ Libsum.donc"). Nous devons faire attention aux données de manière appropriée; Les CTYPES permettent aux utilisateurs d'importer une bibliothèque standard et de récupérer explicitement les fonctions de cela également. Cela nécessite que le programme soit appelé dans le même chemin que la bibliothèque standard et qu'ils sont tous les deux situés ici. Lorsque nous incorporons le .Fichier PY avec la bibliothèque standard, il y a eu plusieurs spécifications du système d'exploitation concernant les répertoires de recherche de bibliothèque.

De plus, nous appelons la somme de la fonction.notre fonction.argrtpes. Nous définissons la valeur de cette fonction comme ctypes.c_int, ctypes.Pointeur (ctypes.c_int). Ensuite, nous définissons notre_fonction (). Nous avons fourni les chiffres comme arguments. Nous créons une variable globale appelée _sum. Nous déclarons une variable num_numbers. Dans cette variable, nous devons découvrir la longueur des nombres définis, nous utiliserons donc la méthode Len (). Nous créons un tableau. Ce tableau est stocké dans une variable «array_type». Nous spécifions la valeur comme ctypes.c_int * num_numbers à la variable array_type.

Maintenant, nous initialisons une nouvelle variable, «Résultat». Ici, nous appelons la somme de la fonction.Our_Function (Stypes.c_int (num_numbers). De même, nous fournissons le pointeur du nombre (* Numb) à l'instruction Array_Type. Pour résilier le code, nous tapons l'instruction RETOUR. Dans cette fonction, nous passons un «résultat» variable comme paramètre. Le type de données de la variable de résultat est un entier. L'image précédente montre le code source du fichier.

Nous allons l'utiliser pour exécuter le programme à partir de n'importe quel fichier. Une fois la bibliothèque importée, cela sera enregistré dans un attribut Python contenant des procédures pour chaque module défini.

Renomnons le test.fichier py avec la somme.fichier PY.

$ MV Test.somme.py

Nous allons créer un nouveau fichier, «Tester.py ", puis il sera ouvert en utilisant le mot-clé Nano avant le nom du fichier.

$ test nano.py

Le test.Le fichier PY sera ouvert. Maintenant, nous allons importer la somme. Dans la ligne suivante, nous appelons la fonction print (). Dans cette fonction, nous appelons la somme de la méthode.our_function (). Le our_function () contient les cinq premières valeurs numériques comme arguments. L'image précédente montre le code source du fichier.

Ici, nous exécuterons le fichier «Test.py ". Nous écrivons le test de commande $ python3.py. Cette commande sera exécutée et le résultat sera affiché sur le terminal.

$ Python3 Test.py

Conclusion

Comment utiliser les CTYPES de Python a été couvert dans cet article. Nous exécutons les commandes sur Ubuntu 20.04. Nous avons créé et ouvert une «somme.C ”Fichier à l'aide du terme nano. Dans ce fichier, nous avons construit notre_fonction (), puis nous avons définie notre_fonction. Ensuite, nous ouvrons le test.fichier PY. Dans ce fichier, nous pouvons appeler notre_function () puis utiliser cette fonction.