我有一个使用SMTP_SSL
发送电子邮件的脚本。代码在PyCharm中运行良好,但在终端中我得到了一个错误。
这是代码:
import smtplib
s = smtplib.SMTP_SSL("smtp.googlemail.com:465")
mml=input("enter your email address :\n")
str(mml)
passr=input("enter your pass:\n")
str(passr)
s.login(mml,passr)
em = input("please type the email you want to send :\n")
str(em)
a = input("please type the message:\n")
str(a)
s.sendmail(mml,em,a)
print("\nEmail Was Sent..:)")
当我在我的终端运行这个时,它会在我输入电子邮件后给它:
enter your email address :
mahmoud.wizzo@gmail.com
Traceback (most recent call last):
File "medo.py", line 3, in <module>
mml=input("enter your email address :\n")
File "<string>", line 1
mahmoud.wizzo@gmail.com
^
SyntaxError: invalid syntax
当我试图将电子邮件放在引号之间时,例如"mahmoud.wizzo@gmail.com“,它可以正常工作。
我怎样才能在终端机上运行我的脚本?
发布于 2018-05-20 09:26:16
我怀疑您正在使用命令行上的Python 2运行脚本。 changed in Python 3。
尝试运行python3 my_file.py
而不是python my_file.py
。
发布于 2018-05-20 09:31:28
这实际上就是Python的工作方式。您遇到的问题是,input
从用户那里获取输入,然后“执行”或“编译”它,所以如果在输入中输入4+9
,它将生成数字13,而不是字符串"4+9"
。所以,在Python2中尝试使用raw_input()
。您也可以使用sys.stdin.readline()
获得字符串,我是任何Python版本。别忘了import sys
。
https://stackoverflow.com/questions/50437484
复制相似问题