我试图从解释器内使用Python命令执行一个文件。

编辑:我试图使用变量和设置从该文件,而不是调用一个单独的进程。


当前回答

几种方式。

从外壳开始 python someFile.py 在IDLE中,按F5。 如果你是交互式输入,试试这个(Python3): > > > exec (open (filename.py) .read ()) 对于Python 2: >>>变量= {} execfile("someFile.py",变量) >>>打印someFile模块中的变量# globals

其他回答

我试图使用该文件中的变量和设置,而不是调用一个单独的进程。

好吧,简单地导入带有import filename的文件(减去.py,需要在相同的目录中或在你的PYTHONPATH上)将运行该文件,使其变量、函数、类等在文件名中可用。变量名称空间。

如果你有cheddar。py,变量spam和函数eggs,你可以用import cheddar导入它们,用cheddar访问变量。并通过调用cheddar.eggs()来运行该函数

如果你在cheddar.py中有在函数之外的代码,它将立即运行,但是构建在导入上运行的应用程序将使你的代码难以重用。如果可能的话,把所有东西都放在函数或类中。

几种方式。

从外壳开始 python someFile.py 在IDLE中,按F5。 如果你是交互式输入,试试这个(Python3): > > > exec (open (filename.py) .read ()) 对于Python 2: >>>变量= {} execfile("someFile.py",变量) >>>打印someFile模块中的变量# globals

python -c "exec(open('main.py').read())"

我不是专家,但这是我注意到的:

例如,如果你的代码是mycode.py,你只输入'import mycode', Python会执行它,但不会让解释器使用你的所有变量。我发现你应该输入'from mycode import *'如果你想让所有变量对解释器可用。

对于python3,可以使用任意一种,同时加上xxxx =你的文件名。

exec(open('./xxxx.py').read())