python, unix, NameError: name not defined. not recognizing string variable
python, unix, NameError: name not defined. not recognizing string variable
我最近开始学习在 bash/unix 工作...我还是很新.. 甚至不确定它叫什么。
我对 python 很有经验。在过去 4 年中使用该语言进行网络工程和数据分析。
现在我们正在做这个虚拟环境的事情,我在思考它时遇到了一些麻烦。
目前,我在当前工作目录中存储的名为 helloWorld.py 的文件中有以下代码。
#! /usr/bin/env python
def hello():
name = str(input('\n\nHello, what is your name? \n'))
print('\nHello World')
print('But more importantly... \nHello ' + name)
return
hello()
所以。我的问题是。当我 运行 shell 中的代码时,我得到以下内容:
[currentDirectory]$ python helloWorld.py
Hello, what is your name?
randomname <-- typed by user.
Traceback (most recent call last):
File "helloWorld.py", line 8, in <module>
hello()
File "helloWorld.py", line 3, in hello
name = str(input('\n\nHello, what is your name? \n'))
File "<string>", line 1, in <module>
NameError: name 'randomname' is not defined
好像没有识别出变量是字符串。
代码在 bash shell 之外的 IDE 中运行良好。非常基本的代码。
但是这个虚拟环境 linux/unix/shell/bash 东西是超级新的。
这实际上是第一天。我已经能够创建和保存文件并更改目录。这是我在 shell 中编写 python 的第一次测试,我立即遇到了障碍。
很抱歉这个可能超级简单的问题。
感谢您的帮助。
顺便说一句:
如果用户在他们键入的内容周围加上引号,这确实有效。但这违背了在函数的输入行周围使用 str() 转换器的目的。
我怎样才能让用户可以随便输入什么?
In Python 2, raw_input()
returns a string, and input()
tries to run
the input as a Python expression.
试试这个:
#! /usr/bin/env python
def hello():
name = raw_input('\n\nHello, what is your name? \n')
print('\nHello World')
print('But more importantly... \nHello ' + name)
return
hello()
我最近开始学习在 bash/unix 工作...我还是很新.. 甚至不确定它叫什么。
我对 python 很有经验。在过去 4 年中使用该语言进行网络工程和数据分析。
现在我们正在做这个虚拟环境的事情,我在思考它时遇到了一些麻烦。
目前,我在当前工作目录中存储的名为 helloWorld.py 的文件中有以下代码。
#! /usr/bin/env python
def hello():
name = str(input('\n\nHello, what is your name? \n'))
print('\nHello World')
print('But more importantly... \nHello ' + name)
return
hello()
所以。我的问题是。当我 运行 shell 中的代码时,我得到以下内容:
[currentDirectory]$ python helloWorld.py
Hello, what is your name?
randomname <-- typed by user.
Traceback (most recent call last):
File "helloWorld.py", line 8, in <module>
hello()
File "helloWorld.py", line 3, in hello
name = str(input('\n\nHello, what is your name? \n'))
File "<string>", line 1, in <module>
NameError: name 'randomname' is not defined
好像没有识别出变量是字符串。 代码在 bash shell 之外的 IDE 中运行良好。非常基本的代码。 但是这个虚拟环境 linux/unix/shell/bash 东西是超级新的。 这实际上是第一天。我已经能够创建和保存文件并更改目录。这是我在 shell 中编写 python 的第一次测试,我立即遇到了障碍。 很抱歉这个可能超级简单的问题。 感谢您的帮助。
顺便说一句: 如果用户在他们键入的内容周围加上引号,这确实有效。但这违背了在函数的输入行周围使用 str() 转换器的目的。 我怎样才能让用户可以随便输入什么?
In Python 2,
raw_input()
returns a string, andinput()
tries to run the input as a Python expression.
试试这个:
#! /usr/bin/env python
def hello():
name = raw_input('\n\nHello, what is your name? \n')
print('\nHello World')
print('But more importantly... \nHello ' + name)
return
hello()