2017-08-10 5 views
0

Je cours un script python sur mon pi de framboise, à la fin de laquelle je veux appeler un deuxième script python dans le même répertoire. Je l'appelle en utilisant la commande os.system() comme indiqué dans l'extrait de code ci-dessous mais obtenir des erreurs d'importation. Je comprends que c'est parce que le système interprète le nom du script comme une commande shell et doit être dit de l'exécuter en utilisant python, en utilisant la ligne shebang au début de mon deuxième script.Commande Shebang pour appeler un script à partir d'un script existant - Python

#!/usr/bin/env python 

ne fait cependant si résoud pas les erreurs

Voici l'extrait de fin du premier script:

# Time to Predict E 
    end3 = time.time() 
    prediction_time = end3-start3 
    print ("\nPrediction time: ", prediction_time, "seconds") 

    i = i+1 
    print (i) 



script = '/home/pi/piNN/exampleScript.py' 
os.system('"' + script + '"') 

et est le début de mon second script ici:

'#!usr/bin/env python' 

from __future__ import absolute_import 
from __future__ import division 
from __future__ import print_function 
#from picamera import PiCamera 


import argparse 
import sys 
import time 

import numpy as np 
import tensorflow as tf 
import PIL.Image as Image 

Toute aide est grandement appréciée :)

+0

Quels sont les erreurs d'importation ctuelles que vous obtenez lorsque vous exécutez votre code? – s3rvac

Répondre

0

Puisque vous n'avez pas publié les erreurs réelles que vous obtenez lorsque vous exécutez votre code, c'est ma meilleure estimation. Tout d'abord, assurez-vous que exampleScript.py est exécutable:

chmod +x /home/pi/piNN/exampleScript.py 

En second lieu, ajouter un manque barre oblique à la tralala dans exampleScript.py, à savoir changer

'#!usr/bin/env python' 

à

'#!/usr/bin/env python' 
0

La configuration que vous avez ici n'est pas idéale. Envisagez simplement d'importer votre autre script (assurez-vous qu'ils se trouvent dans le même répertoire). L'importer entraînera l'exécution de tout le code python exécutable dans le script qui n'est pas enveloppé dans if __name__ == "__main__":. Alors que sur le sujet, si vous avez besoin de sauvegarder un code d'être exécuté, placez-le là.

0

J'ai 2 fichier python a.py et b.py et j'ai mis l'autorisation d'exécution pour b.py avec.

chmod a+x b.py 

Ci-dessous mon exemple:
a.py

#!/usr/bin/python 
print 'Script a' 
import os 
script = './b.py' 
os.system('"' + script + '"') 

b.py

#!/usr/bin/python 
print 'Script b' 

Exécuter "a.py python", le résultat est:

Script a 
Script b