Python实现邮件发送时出现'Please put your password here: None'报错如何解决
问题根因
异常提示由代码逻辑错误导致,核心问题出在password = input(str(write(passwordquestion)))这一行:
- 自定义的
write函数没有设置显式返回值,执行完成后默认返回None - 调用
write(passwordquestion)时会先逐字打印密码提示文字,随后将返回的None转为字符串传入input()作为输入提示,因此控制台会额外输出None,最终呈现Please put your password here: None的异常结果。
修复方案
将对应行拆分为两行即可解决问题,示例如下:
# 先调用write逐字打印提示 write(passwordquestion) # 直接调用input接收输入,无需传入提示参数 password = input()
另外代码中message = input(str("What is the message? "))的str()属于冗余写法,字符串字面量本身就是str类型,不需要额外转换,可以简化为:
message = input("What is the message? ")
内容的提问来源于stack exchange,提问作者DybaTube
相关产品推荐
相关产品推荐

