python,unix,name错误:未定义名称。无法识别字符串变量

2024-09-27 07:35:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始学习在bash/unix中工作。。。我还是新手。。不知道它叫什么。在

我对Python很有经验。在过去的4年中,曾在网络工程和数据分析方面使用过该语言。在

现在我们在做虚拟环境的事情,我有点难以理解。在

目前我在一个名为地狱世界.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中运行代码时,会得到以下结果:

^{pr2}$

它似乎没有意识到变量是一个字符串。 代码在bashshell之外的IDE中运行良好。相当基本的代码。 但是这个虚拟环境linux/unix/shell/bash的东西是全新的。 就像今天是第一天。我已经能够创建和保存一个文件和更改目录。这是我在shell中编写python的第一次测试,我立刻遇到了一个障碍。 对不起,这个问题可能太简单了。 谢谢你的帮助。在

顺便说一句: 如果用户在键入的内容周围加上引号,这确实有效。但这就违背了在函数的输入行周围使用str()转换器的目的。 我怎样才能让用户输入任何东西?在


Tags: 代码用户name目录bashhello虚拟环境unix
1条回答
网友
1楼 · 发布于 2024-09-27 07:35:23

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()

相关问题 更多 >

    热门问题