我正在尝试从解释器中使用python命令执行文件。
编辑:我正在尝试使用该文件中的变量和设置,而不是调用一个单独的进程。
我正在尝试从解释器中使用python命令执行文件。
编辑:我正在尝试使用该文件中的变量和设置,而不是调用一个单独的进程。
Answers:
几种方法。
从外壳
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())
python
如果您正在运行python 3,python3
则不起作用,而是使用python 3 。
stdin
从文件中提供诸如使用<
到。中的执行脚本execfile()
?@ s-lott
python
指向的环境python3
。
python
系统通过环境变量中的文件夹查找时找到的可执行文件PATH
。
对于Python 2:
>>> execfile('filename.py')
对于Python 3:
>>> exec(open("filename.py").read())
# or
>>> from pathlib import Path
>>> exec(Path("filename.py").read_text())
请参阅文档。如果您使用的是Python 3.0,请参见此问题。
有关执行后如何从filename.py访问全局变量的示例,请参见@ S.Lott的答案。
exec(open("./path/to/script.py").read(), globals())
这将执行一个脚本并将其所有全局变量放入解释器的全局范围(在大多数脚本环境中是正常行为)。
我正在尝试使用该文件中的变量和设置,而不是调用一个单独的进程。
好了,只需使用import filename
(减.py,需要在同一目录中或上PYTHONPATH
)导入文件即可运行该文件,使其变量,函数,类等在filename.variable
名称空间中可用。
因此,如果您有cheddar.py
垃圾邮件变量和函数鸡蛋,则可以使用导入它们import cheddar
,通过来访问变量cheddar.spam
并通过调用来运行函数cheddar.eggs()
如果您的代码位于cheddar.py
函数之外,那么它将立即运行,但是构建在导入时运行内容的应用程序将使重用代码变得困难。如果可能的话,请将所有内容放入函数或类中。
from filename import *
做就是了,
from my_file import *
确保不添加.py扩展名。如果您使用子目录中的.py文件,
from my_dir.my_file import *
对于Python 3:
>>> exec(open("helloworld.py").read())
运行命令之前,请确保您位于正确的目录中。
要从其他目录运行文件,可以使用以下命令:
with open ("C:\\Users\\UserName\\SomeFolder\\helloworld.py", "r") as file:
exec(file.read())