我有一些python代码行,我不断地复制/粘贴到python控制台。是否有加载命令或其他我可以运行的命令?例如,加载file.py


当前回答

Python 3: new exec (execfile被删除)!

execfile解决方案仅对Python 2有效。Python 3删除了execfile函数-并将exec语句提升为内置通用函数。正如Python 3.0的更新日志和Hi-Angels注释所示:

use

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

而不是

execfile(<filename.py>)

其他回答

Python 3: new exec (execfile被删除)!

execfile解决方案仅对Python 2有效。Python 3删除了execfile函数-并将exec语句提升为内置通用函数。正如Python 3.0的更新日志和Hi-Angels注释所示:

use

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

而不是

execfile(<filename.py>)

如果你正在使用IPython,你可以简单地运行:

%load path/to/your/file.py

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

你可以使用import语句:

from file import *

例如,如果你有一个名为my_script.py的文件,你会像这样加载它:

from my_script import *

从手册页:

-i当脚本作为第一个参数传递或使用-c选项时,在执行脚本或命令后进入交互模式。它不读取$PYTHONSTARTUP文件。当脚本引发异常时,这对于检查全局变量或堆栈跟踪非常有用。

所以这应该是你想要的:

python -i file.py

对于Python 2,请尝试execfile。(参见Python 3的其他答案)

execfile('file.py')

使用示例: 让我们使用“copy con”快速创建一个小脚本文件…

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

...然后让我们像这样加载这个脚本:

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
>>>