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

- 118,113
- 30
- 216
- 245

- 3,418
- 5
- 25
- 25
-
21`import file`. No `.py` extension. – Mikel Mar 12 '11 at 01:31
-
1When `import file` is used, variables in `file` cannot be accessed. – Kadir Jul 02 '13 at 16:05
-
6Actually, variable can be accessed. Try `file.variable`. – Tim Ludwinski Jan 21 '14 at 23:24
8 Answers
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

- 11,517
- 1
- 40
- 72
-
10This 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
-
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
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
>>>

- 11,482
- 2
- 25
- 45

- 81,303
- 11
- 141
- 189
-
1Can 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
-
12He 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
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>)

- 1,399
- 1
- 8
- 3
-
if the file contains import statements e.g. `import os`, does `exec()` execute those statements? I'm trying this currently and the answer appears to be no... – Rylan Schaeffer May 21 '20 at 17:23
-
4it should be noted that filename.py is a string and so should be in quotes. i.e. exec(open("mypythonfile.py").read()) – Max Wen Dec 29 '20 at 02:39
-
3
-
how do you supply any arguments that the program being executed needs? – Motorhead Jan 22 '22 at 19:46
-
From the shell command line:
python file.py
From the Python command line
import file
or
from file import *

- 355,277
- 75
- 744
- 836
-
10
-
1
-
2Does the file need to be a in specific director? I'm trying it with its full path and it's not working. – CodyBugstein Mar 28 '14 at 12:51
-
-
@Seth That's a relative path, isn't it? How about an absolute path? – Daniel C. Sobral Aug 03 '21 at 18:01
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 *
-
-
1The * 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
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_nameNote: no .py extension to be used while importing.
How can I open a cmd window in a specific location?
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

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