yesno_prompt(问题

时间:2016-07-13 13:33:14

标签: python smtp sendmail

我的代码是:

highpri = yesno_prompt(
    ["1"], "Flag this message/s as high priority? [yes|no]")
if not "YES" in highpri:
    prioflag1 = ""
    prioflag2 = ""
else:
    prioflag1 = ' 1 (Highest)'
    prioflag2 = ' High'

但是当我运行它时,我得到了:

Traceback (most recent call last):
  File "mailerproj.py", line 138, in <module>
    highpri = yesno_prompt(
NameError: name 'yesno_prompt' is not defined

所以我试过了:

highpri = input(

但它给出了这个问题:

Traceback (most recent call last):
  File "mailerproj.py", line 139, in <module>
    ["1"], "Flag this message/s as high priority? [yes|no]")
TypeError: [raw_]input expected at most 1 arguments, got 2

所以在这种情况下,输入最好但结构错误或者是/否提示正确但结构错误?

1 个答案:

答案 0 :(得分:0)

此代码显示了对{3}在{3}}中如何工作的基本误解。

首先,Python 3中的input()函数相当于Python 2中的input()。您的错误表明您使用的是Python 2。

让我们阅读您收到的错误消息:

我们知道错误在哪一行:

raw_input()

它向我们展示了这一行:

  File "mailerproj.py", line 139, in <module>

然后它解释了这个问题:

    ["1"], "Flag this message/s as high priority? [yes|no]")

这意味着您已经给出了TypeError: [raw_]input expected at most 1 arguments, got 2 错误的参数 - 您已经给了它两个input()["1"],并且它需要一个。

以下是"Flag this message/s as high priority? [yes|no]"上的python帮助:

模块内置

中内置函数raw_input的帮助
raw_input

所以你需要给它一个参数作为输入。这可以是字符串(例如raw_input(...) raw_input([prompt]) -> string Read a string from standard input. The trailing newline is stripped. If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError. On Unix, GNU readline is used if enabled. The prompt string, if given, is printed without a trailing newline before reading. )整数(例如"Hello"),浮点数(例如125),列表,元组,布尔值等。它将一个字符串返回到变量中。

您需要看起来更像这样的代码:

3.14