来自 CMD 运行 .py 文件时的 NameError Windows 10

NameError when running .py file from CMD Windows 10

我正在尝试 运行 从 Windows 10 中的 CMD 行在文本编辑器中创建的 .py 文件。这是我非常简单的代码:

def main():
    print 'It works!'

if __name__ == '__main__':
    main()

当我从已处于 python 2.7 模式的 CMD 行 运行 时,我键入

pytest.py

这是文件名。但是,现在 CMD 行显示:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pytest' is not defined

使文件可执行或将其提供给 python 程序 运行 它

python pytest.py

如果您从 python 解释器中 运行 宁文件,那么您需要使用 Ctrl + Z 和 运行 从命令行退出它我上面提到的方式。

注意: 您需要切换到 pytest.py 所在的目录才能使上述命令生效;或者您需要提供文件的路径。例如,从您的图片来看,您位于根目录中,即 C:\Users\Eric;如果您在 windows 上打开文件资源管理器并导航到您的文件所在的位置,您可以右键单击该文件并查看属性,这应该会显示该位置。然后在你的命令提示符下,你需要输入 cd C:\location\you\just\copied\ 然后你应该可以使用上面的 python 命令 运行 文件

您不能 运行 来自 Python 解释器的 .py 文件(从 >>> 开始)

因此,您需要在文件中查看 C:\Users\Eric> python pytest.py 到 运行 python

,只能运行python,则必须import文件。

>>> import pytest
>>> pytest.main()

这两种情况都假定 CMD 与您的文件位于同一目录中。如果没有,您必须先 cd 到正确的目录,或者使用

C:\Users\Eric> python C:\Users\Eric\full\path\to\pytest.py

当您通过 CMD 在 windows 中启动终端时,您处于 Windows 命令行中。 您可以在此处输入 运行 您的 python 代码

python yourpythoncode.py

或者您可以选择启动 python 解释器,只需输入:

python

在解释器中,您可以通过导入 运行 您的 python 程序

import yourpythoncode

如果您的python代码有这样一行

if ___name___ = ___main___:
    main()

那么它就不会自动运行编码。 因此,对于 运行 您的代码,您仍然需要通过输入 :

来显式调用它
main()