繁体   English   中英

定义输入时,Linux 终端中的 Python 名称错误

[英]Python name error in LInux terminal when the input is defined

我在 Linux 上运行 python 3.6。 当我使用 python shell 测试代码时,它按预期工作。 但是,如果从 linux 终端运行,则会出现名称错误。

#!/usr/bin/python
print("Hi")
name = input("What\'s your name?")
print (name, "is a cool name")

然后从linux终端输入名称后,出现以下错误:

Traceback (most recent call last):
  File "./test.py", line 3, in <module>
    name = input("What\'s your name?")
  File "<string>", line 1, in <module>
NameError: name 'Matt' is not defined

我知道如果在 python 2 上运行,你需要使用原始输入,但是这在 python 3 中没有使用。是否有另一行代码以便 linux 终端接受它,比如#!/usr

使用shebang#!/usr/bin/python您告诉系统使用 Python 2。

在 Python 2 中,您需要将input更改为raw_input ,如下所示:

#!/usr/bin/python
print("Hi")
name = raw_input("What\'s your name?")
print(name, "is a cool name")

有关详细信息,请参阅问候程序

但是,要告诉系统使用 Python 3 运行脚本,请将您的 shebang 行更改为#!/usr/bin/python3 ,或者最好是#!/usr/bin/env python3

你可以这样运行: python3 test.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM