Python 从CMD Windows 10运行.py文件时出现名称错误
我正在尝试运行一个.py文件,该文件是在Windows 10的CMD行中在文本编辑器中创建的。下面是我非常简单的代码:Python 从CMD Windows 10运行.py文件时出现名称错误,python,cmd,interpreter,nameerror,Python,Cmd,Interpreter,Nameerror,我正在尝试运行一个.py文件,该文件是在Windows 10的CMD行中在文本编辑器中创建的。下面是我非常简单的代码: def main(): print 'It works!' if __name__ == '__main__': main() 当我从已经处于Python2.7模式的CMD行运行时,我键入 pytest.py 这是文件的名称。但是,现在命令行显示: Traceback (most recent call last): File "<stdin>
def main():
print 'It works!'
if __name__ == '__main__':
main()
当我从已经处于Python2.7模式的CMD行运行时,我键入
pytest.py
这是文件的名称。但是,现在命令行显示:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pytest' is not defined
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“pytest”
使文件可执行或将其提供给
python
程序以运行它
python pytest.py
如果您是从python解释器中运行该文件,那么您需要使用Ctrl+Z
退出该解释器,并以我上面提到的方式从命令行运行它
注意:您需要更改到
pytest.py
所在的目录,才能使用上述命令;或者您需要提供文件的路径。例如,从图片中,您位于根目录中,即C:\Users\Eric
;如果在windows上打开文件资源管理器并导航到文件所在的位置,则可以右键单击文件并查看属性,这将显示位置。然后在命令提示符中,您需要键入cd C:\location\you\just\copied\
,然后您应该能够使用上面的python命令运行该文件,或者使该文件可执行,或者将其提供给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 pytest
>>> pytest.main()
这两种情况都假定CMD与您的文件位于同一目录中。如果没有,您必须先将cd
放入相应的目录,或者使用
C:\Users\Eric> python C:\Users\Eric\full\path\to\pytest.py
不能从Python解释器运行
.py
文件(从>
开始)
因此,您需要查看C:\Users\Eric>python pytest.py
才能在文件上运行python
或,您只能运行python
,然后必须导入该文件
>>> import pytest
>>> pytest.main()
这两种情况都假定CMD与您的文件位于同一目录中。如果没有,您必须先将cd
放入相应的目录,或者使用
C:\Users\Eric> python C:\Users\Eric\full\path\to\pytest.py
通过CMD在windows中启动终端时,您处于windows命令行中。 在这里,您可以通过输入
python yourpythoncode.py
或者,您可以通过输入以下命令来启动python解释器:
python
在解释器中,您可以通过导入python程序来运行它
import yourpythoncode
如果你的pythoncode有这样一条线
if ___name___ = ___main___:
main()
然后保护它不自动运行代码。
因此,要运行代码,您仍然需要通过输入以下命令显式调用代码:
main()
通过CMD在windows中启动终端时,您处于windows命令行中。 在这里,您可以通过输入
python yourpythoncode.py
或者,您可以通过输入以下命令来启动python解释器:
python
在解释器中,您可以通过导入python程序来运行它
import yourpythoncode
如果你的pythoncode有这样一条线
if ___name___ = ___main___:
main()
然后保护它不自动运行代码。
因此,要运行代码,您仍然需要通过输入以下命令显式调用代码:
main()
这有点帮助,但是Eric正在Python REPL中运行命令,而不是在cmd提示符上/I在我的帖子中添加了cmd的屏幕截图,请告诉我这是否会改变您的答案…仍然没有找到解决方案。@smac89我不理解这一点,我在Atom文本编辑器中编写了代码,然后将其保存为pytest.py。然后我关闭Atom并打开CMD提示符并尝试运行它。我认为我根本没有python解释器。@Eric您应该打开cmd.exe命令提示符,而不是像现在这样启动python会话,直接从cmd.exe提示符键入smac89编写的内容。您不应该在命令行中首先键入
python
,就像在命令行的第一行中那样screen@Eric是的……就是您键入的名为python
的命令。重新打开命令行,将目录更改为文件pytest.py
所在的文件夹,并键入我上面提到的命令这有点帮助,但Eric是从Python REPL中运行命令的,而不是在cmd提示符上/I在我的帖子中添加了cmd的屏幕截图,如果这改变了您的答案,请告诉我……仍然没有找到解决方案。@smac89我不理解这一点,我在Atom文本编辑器中编写了代码,然后将其保存为pytest.py。然后我关闭Atom并打开CMD提示符并尝试运行它。我认为我根本没有python解释器。@Eric您应该打开cmd.exe命令提示符,而不是像现在这样启动python会话,直接从cmd.exe提示符键入smac89编写的内容。您不应该在命令行中首先键入python
,就像在命令行的第一行中那样screen@Eric是的……就是您键入的名为python
的命令。重新打开命令行,将目录更改为文件pytest所在的文件夹