NameError:name' ls'没有定义

时间:2014-09-14 21:27:48

标签: python command-line nameerror

我正在运行Windows 7并且刚刚安装了Python 2.7.4,我得到的只是SyntaxError:'s。例如,当我输入:

>>>ls   

我得到了

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

我是Python的新手,不知道问题是什么。 数学计算工作以及代码似乎都有效。它只是cdlssudo apt-get update(和upgrade)等命令。任何指导都将不胜感激。

4 个答案:

答案 0 :(得分:6)

我觉得很遗憾你在这里如此重视。如果您不熟悉编程,那么这可能是一个诚实的错误,因为许多教程都假设您已经熟悉命令行。

您遇到的主要问题(正如其他人指出的那样)是区分操作系统shell (也称为控制台,终端,命令行或命令提示符)和< strong> Python shell 。

操作系统shell /命令提示符是您与计算机进行交互的基本方法之一。当您打开命令提示符时,可以通过键入其名称来运行任意程序,运行lssudocdapt-get等命令。

例如,如果您输入python,它将导致命令提示符启动 Python shell 。从那里开始,您可以像往常一样运行所有Python命令。但是,这是一个完全独立的程序,具有完全独立的规则集。 您可以在命令提示符中执行的操作在Python中不起作用,反之亦然。


现在,另一个困惑点是区分 Windows 命令提示符和 Linux 命令提示符。您可以在两者中安装和运行Python,但某些命令(特别是sudoapt-get)仅在Linux操作系统上可用。不幸的是,使用Windows命令提示符和Linux命令提示符的规则有所不同,这意味着您找到的某些指令仅适用于某种操作系统。


所以难怪你感到困惑!您正在尝试学习Python,但是很多教程/文章都会提到第二个完全不同的系统,几乎没有介绍,并希望您已经知道如何使用它。

如果您对如何了解有关使用命令行的更多信息感到好奇,那么您可以阅读这篇文章crash course。它将教您所有3个主要操作系统(Windows,Linux和Mac)需要了解的内容,并希望能让您在线阅读的内容更加清晰。

答案 1 :(得分:2)

我从你的个人资料中看到你正在学习Raspberry Pi。 Raspberry Pi可以使用Debian(或基于Debian的Ubuntu)作为Linux发行版。您在Python中尝试的命令是在该操作系统上运行的shell命令

Python是另一个可以在Raspberry Pi上运行的命令,但这并不意味着在Windows上安装Python也会在Windows上为您提供其他命令。你有两个完全不同的东西在这里混淆。

答案 2 :(得分:0)

  

它只是像cd,ls,sudo apt-get update(和升级)这样的命令。任何   指导将不胜感激

Python不支持这些命令。这些是操作系统级命令,而不是python级命令。

答案 3 :(得分:0)

问题的根源在于我没有问正确的问题。我试图在交互模式下运行脚本并输入&#39; ls&#39;和&#39; dir&#39;看看我在目录中的位置。在大家的指导下,我终于在文档中找到了关于可执行Python脚本的部分,该部分说Windows自动关联了&#39; py&#39;用python.exe扩展。 here。然后这一切都在我脑海中浮现。我已经关联了&#39; py&#39;我的编辑器而不是python的扩展,我应该在 Windows命令提示符。 感谢大家的帮助和快速回复。