我试图在解释器中用python命令执行一个文件。
编辑:我试图使用该文件中的变量和设置,而不是调用一个单独的进程。
有几种方法。
从外壳上看
python someFile.py
从IDLE内部,点击F5。
如果你在交互式地打字,可以试试这个。(Python 2 仅限!)
>>> variables= {}
>>> execfile( "someFile.py", variables )
>>> print variables # globals from the someFile module
对于Python3,使用。
>>> exec(open("filename.py").read())
exec(open("./path/to/script.py").read(), globals())
这将执行一个脚本,并将其所有的全局变量放在解释器的全局范围内 (大多数脚本环境中的正常行为)。
我试图使用该文件中的变量和设置,而不是调用一个单独的进程。
那么,只要用import filename
导入文件(减去.py,需要在同一目录下或在你的PYTHONPATH
上)就可以运行该文件,使其变量、函数、类等在filename.variable
命名空间中可用。
因此,如果你有cheddar.py
,其中有变量spam和函数eggs--你可以用import cheddar
导入它们,用cheddar.spam
访问变量,通过调用cheddar.eggs()
运行函数。
如果你在cheddar.py
中的代码在一个函数之外,它将被立即运行,但建立在导入时运行的应用程序将使你的代码很难被重用。如果可能的话,把所有东西都放在函数或类里面。
在我看来,最好的办法就是。
import yourfile
并修改了yourfile.py后
reload(yourfile)
或
import imp;
imp.reload(yourfile) in python3
但这将使函数和类看起来像这样。 yourfile.function1, yourfile.class1......。
如果你不能接受这些。 最后的解决方案是:
reload(yourfile)
from yourfile import *
。
reload(yourfile)
from yourfile import *
只是做。
from my_file import *
确保不要添加.py扩展名。 如果你的.py文件在子目录下,请使用,
from my_dir.my_file import *