260

I have some lines of python code that I'm continuously copying/pasting into the python console. Is there a load command or something I can run? e.g. load file.py

Mike Samuel
  • 118,113
  • 30
  • 216
  • 245
sybind
  • 3,418
  • 5
  • 25
  • 25

8 Answers8

232

From the man page:

-i When a script is passed as first argument or the -c option is used, enter interactive mode after executing the script or the command. It does not read the $PYTHONSTARTUP file. This can be useful to inspect global variables or a stack trace when a script raises an exception.

So this should do what you want:

python -i file.py
Arafangion
  • 11,517
  • 1
  • 40
  • 72
  • 10
    This is a great way to go if you are not yet in the console. Thanks for the tip Arafangion – SomeShinyObject Nov 16 '12 at 11:42
  • 1
    how does one reload the `file.py` if the file has changed? python3.8+ – Asalle Oct 26 '20 at 15:43
  • The question was clearly to load the file when already in the console. – RichieHH Mar 22 '21 at 19:10
  • 1
    @RichieHH: A full decade of stack overflow visitors have found it a useful answer, however, and the original question might have been ambiguous and has since been edited... – Arafangion Apr 08 '21 at 02:47
  • 2
    @Asalle: For your question, you should put that up as a separate question, however take a look at https://stackoverflow.com/questions/31410419/python-reload-file – Arafangion Apr 08 '21 at 02:48
208

For Python 2 give execfile a try. (See other answers for Python 3)

execfile('file.py')

Example usage:
Let's use "copy con" to quickly create a small script file...

C:\junk>copy con execfile_example.py
a = [9, 42, 888]
b = len(a)
^Z
        1 file(s) copied.

...and then let's load this script like so:

C:\junk>\python27\python
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> execfile('execfile_example.py')
>>> a
[9, 42, 888]
>>> b
3
>>>
Maurice
  • 11,482
  • 2
  • 25
  • 45
John Machin
  • 81,303
  • 11
  • 141
  • 189
  • 1
    Can you explain your usage of `copy con`? From what I'm reading it's only used to copy files http://www.computerhope.com/copyhlp.htm – CodyBugstein Mar 28 '14 at 12:49
  • 12
    He copied from the console (treated as a file) to execfile_example.py. ^Z is end of file. It's just a way to get text into a file without opening an editor. – I. J. Kennedy May 01 '14 at 21:14
  • See the answer from @Arafangion if you are not yet in the console. – Barry McNamara Sep 27 '17 at 19:45
125

Python 3: new exec (execfile dropped) !

The execfile solution is valid only for Python 2. Python 3 dropped the execfile function - and promoted the exec statement to a builtin universal function. As the comment in Python 3.0's changelog and Hi-Angels comment suggest:

use

exec(open(<filename.py>).read())

instead of

execfile(<filename.py>)
h1618
  • 1,399
  • 1
  • 8
  • 3
35

From the shell command line:

python file.py

From the Python command line

import file

or

from file import *
Fred Foo
  • 355,277
  • 75
  • 744
  • 836
23

You can just use an import statement:

from file import *

So, for example, if you had a file named my_script.py you'd load it like so:

from my_script import *
slm
  • 15,396
  • 12
  • 109
  • 124
amicitas
  • 13,053
  • 5
  • 38
  • 50
  • what does the * mean? –  Jun 15 '21 at 03:31
  • 1
    The * in this context means to import all names in the script into the current scope. So if you are running this directly from the python command prompt then any variables, functions, etc. that you defined in your script would be available in your python session. – amicitas Jun 16 '21 at 13:15
6

Open command prompt in the folder in which you files to be imported are present. when you type 'python', python terminal will be opened. Now you can use

import script_name
Note: no .py extension to be used while importing.
How can I open a cmd window in a specific location?
Community
  • 1
  • 1
infinity
  • 81
  • 1
  • 5
5

If you're using IPython, you can simply run:

%load path/to/your/file.py

See http://ipython.org/ipython-doc/rel-1.1.0/interactive/tutorial.html

yoni
  • 5,686
  • 3
  • 27
  • 28
0

If your path environment variable contains Python (eg. C:\Python27\) you can run your py file simply from Windows command line (cmd). Howto here.