2010-01-19 3 views

Répondre

10

Compile que C++ programme exécutable et appeler avec le module subprocess de python

1

Vous pouvez utiliser rasade pour créer un module C++ qui peut être importé en python. Une alternative est boost :: python (mais personnellement, je préfère swig).

0

Une façon de le faire serait d'utiliser os.popen. En supposant que votre C++ exécutable est dans le système large chemin et est nommé mycpp, vous feriez quelque chose comme:

results = os.popen('mycpp %s' % user_input).read() 

Cependant, cela pourrait obtenir informatiquement cher très vite si vous invoquer cette commande souvent parce que os.popen essentiellement fourches hors un sous-processus. En outre, comme indiqué dans les documents, il est obsolète depuis Python 2.6, donc soyez prudent.

+2

Non seulement il est dépréciée, il n'y a aucune raison de l'utiliser. La même fonctionnalité est disponible dans le module 'subprocess', comme mentionné dans la réponse de S.Mark. –

0

En supposant que vous êtes sur * nix, compilez votre programme C++ et stockez-le quelque part sur votre système, disons/home/rishabh/myexe.

maintenant de votre application django appeler l'exécutable en utilisant le module de commandes:

import commands 

status, res = commands.getstatusoutput("/home/rishabh/myexe") 

# status contains process status (0 for success, non-zero for unsuccesful termination) and res contains the output of the process 
Questions connexes