Normally you can execute a Python script for example: python myscript.py
, but if you are in the interactive mode, how is it possible to execute a Python script on the filesystem?
>>> exec(File) ???
It should be possible to execute the script more than one time.
Use execfile('script.py') but it only work on python 2.x, if you are using 3.0 try this
import file
without the .py extension will do it, however __name__
will not be "__main__"
so if the script does any checks to see if it's being run interactively you'll need to bypass them.
Alternately, if you're wanting to have a look at the environment after the script runs try python -i script.py
EDIT: To load it again
file = reload(file)
You might want to look into IPython, a more powerful interactive shell. It has various "magic" commands including %run script.py
(which, of course, runs the script and leaves any variables it defined for you to examine).
You can also use the subprocess
module. Something like:
>>> import subprocess
>>> proc = subprocess.Popen(['./script.py'])
>>> proc.communicate()
You can run any system command using python:
>>>from subprocess import Popen
>>>Popen("python myscript.py", shell=True)
The easiest way to do it is to use the os
module:
import os
os.system('python script.py')
In fact os.system('cmd')
to run shell commands. Hope it will be enough.