Comment créer un fichier python pour en exécuter un autre?
Par exemple, j'ai deux fichiers .yy. Je veux qu’un fichier soit exécuté, puis qu’il exécute l’autre fichier .py fichier.
Il y a plus que quelques moyens. Je les énumérerai par ordre de préférence inversée (, c'est-à-dire , le meilleur premier, le pire dernier):
import file
. C'est bien parce que c'est sécurisé, rapide et facile à maintenir. Le code est réutilisé comme il est censé être fait. La plupart des bibliothèques Python s'exécutent à l'aide de plusieurs méthodes étendues sur de nombreux fichiers. Hautement recommandé. Notez que si votre fichier s'appelle file.py
, votre import
devrait ne pas inclure l'extension .py
à la fin.execfile('file.py')
. Non sécurisé, hacky, généralement la mauvaise réponse. Évitez si possible.os.system('python file.py')
. Utilisez quand désespéré.Mettez ceci dans main.py:
#!/usr/bin/python
import yoursubfile
Mettez ceci dans yoursubfile.py
#!/usr/bin/python
print("hello")
Exécuter:
python main.py
Il imprime:
hello
Ainsi, main.py
exécute yoursubfile.py
Il existe 8 façons de répondre à cette question. Une réponse plus canonique se trouve ici: Comment importer d'autres fichiers Python??
J'ai utilisé subprocess.call c'est presque la même chose que subprocess.Popen
from subprocess import call
call(["python", "your_file.py"])
import os
os.system('python filename.py')
remarque: placez le fichier dans le même répertoire que votre fichier principal python.
from subprocess import Popen
Popen('python filename.py')
ou comment-puis-je-faire-un-fichier-python-exécuter-un-fichier-autre
Vous pouvez utiliser ce script:
def run(runfile):
with open(runfile,"r") as rnf:
exec(rnf.read())
Syntaxe:
run("file.py")
Vous traiteriez l'un des fichiers comme un module python et le feriez importer par l'autre (comme vous importez des modules standard python). Ce dernier peut ensuite faire référence à des objets (y compris des classes et des fonctions) définis dans le module importé. Le module peut également exécuter le code d'initialisation dont il a besoin. Voir http://docs.python.org/tutorial/modules.html
Il peut s’appeler aa1.py à partir du script principal comme ci-dessous,
#!/usr/bin/python
import aa1
aa1
aa1.py peut être quelque chose en dessous,
print'abc'