2011-11-11 5 views
0

J'ai un script dans le répertoire bin de mon projet, et je veux l'exécuter à partir d'un script cron. Les deux scripts sont écrits en python.Exécuter le script/bin à partir d'un autre script python

fichier cible:

App_directory/bin/script_name 

Vous voulez exécuter le script script_name avec certains paramètres de App_directory/cron/script_name1.py

Comment puis-je obtenir cela?

Répondre

1

Il fonctionne pour moi ...

import subprocess 

process = subprocess.Popen('script_name') 
print process.communicate() 
1

Essayez:

import os 
os.system('/path/to/App_directory/bin/script_name') 

Ou si script_name n'est pas exécutable et/ou n'a pas le shabang (#!/usr/bin/env python):

import os 
os.system('python /path/to/App_directory/bin/script_name') 
+0

J'ai shabang #!/usr/bin/env python dans le fichier script_name – PythonDev

+0

-1: Veuillez utiliser 'subprocess'. Voir ceci: http://docs.python.org/library/subprocess.html#replacing-os-system. –

2

Le module subprocess est beaucoup mieux que d'utiliser os.system . Action:

import subprocess 
subprocess.call(['/path/to/App_directory/bin/script_name']) 

La fonction subprocess.call renvoie le code retour (état de sortie) du script.

Questions connexes