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

时间:2016-08-10 20:52:41

标签: python spyder cwd

python / spyder新手。我无法按照自己的方式运行脚本。 Quck示例使用以下脚本:

# 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(),它运行得很好。

有人可以向我解释为什么会这样吗?

我的总体目标是保存一个我可以从默认cwd运行的startup.py脚本,它将我的cwd更改为我要保存所有代码的位置。

1 个答案:

答案 0 :(得分:2)

在您执行hello语句之前,未定义

def hello。您尚未运行该脚本,因此尚未执行该行。运行脚本后,已定义hello