web-dev-qa-db-fra.com

Est-il possible d'exécuter un script Python en mode interactif?

Normalement, vous pouvez exécuter un script Python, par exemple: python myscript.py, mais si vous êtes en mode interactif, comment est-il possible d'exécuter un script Python sur le système de fichiers?

>>> exec(File) ???

Il devrait être possible d'exécuter le script plusieurs fois. 

46
lennykey

Utilisez execfile ('script.py') mais cela ne fonctionne que sur python 2.x, si vous utilisez la version 3.0, essayez this

40
fn.

Vous voudrez peut-être examiner IPython , un shell interactif plus puissant. Il a diverses commandes "magiques", y compris %run script.py (qui, bien sûr, exécute le script et laisse toutes les variables qu’il a définies pour que vous les examiniez).

10
Thomas K

Vous pouvez également utiliser le module subprocess. Quelque chose comme:

>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()
5
Sylvain Defresne

Vous pouvez exécuter n'importe quelle commande système en utilisant python:

>>>from subprocess import Popen
>>>Popen("python myscript.py", Shell=True)
2
Silver Light

Le moyen le plus simple consiste à utiliser le module os:

import os

os.system('python script.py')

En fait, os.system('cmd') pour exécuter les commandes Shell. J'espère que ça suffira.

0
Mr Geek