Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从CMD Windows 10运行.py文件时出现名称错误_Python_Cmd_Interpreter_Nameerror - Fatal编程技术网

Python 从CMD Windows 10运行.py文件时出现名称错误

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>

我正在尝试运行一个.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>", 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所在的文件夹