Spyder (python 2.7) -为什么如果我点击运行按钮,脚本会运行,但如果我在命令行中输入脚本名称则不会运行



python/spyder新功能。我有麻烦运行脚本的方式,我想。使用以下脚本的快速示例:

# Demo file for Spyder Tutorial
# Hans Fangohr, University of Southampton, UK
def hello():
    """Print "Hello World" and return None"""
    print("Hello World")
# main program starts here
hello()

我已将其保存为hello.py。当我在命令行中输入hello()时,会得到以下错误:

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

但是,如果我在编辑器中打开这个脚本并点击运行按钮,它会正常运行,并打印Hello World。我可以然后在我的命令行中键入hello(),它运行得很好。

谁能给我解释一下这是为什么?

我的一般目标是保存一个startup.py脚本,我可以从默认的cwd中运行,它将我的cwd更改为我想要保存所有代码的地方。

hello在执行def hello语句之前是没有定义的。您还没有运行脚本,所以这一行还没有执行。运行完脚本后,hello已经定义完成。

相关内容

  • 没有找到相关文章

最新更新