我是使用python的新手。我将编写一个简单的telnet程序,但要将其堆叠到位。
telnet.py
def pingfunc():
global domainname
host = "1.1.1.1"
user = "user1"
password = "password2"
telnet = telnetlib.Telnet(host)
telnet.read_until('Username: ', 3)
telnet.write(user + 'r')
telnet.read_until('Password: ', 3)
telnet.write(password + 'r')
telnet.write("ping " + domainname + "rn")
time.sleep(3)
print telnet.read_very_eager()
if __name__ == "__main__":
global domainname
query_string = cgi.parse_qs(os.environ['QUERY_STRING'])
domainname = query_string.get('domainname', ["www.google.com"])[0]
count = query_string.get('count', [COUNT])[0]
当我调用函数(pingfunc)时,出现了以下错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
telnet.write("ping " + domainname + "rn")
NameError: global name 'domainname' is not defined
你能帮我处理这个案子吗?
您在函数pingfunc()
中使用变量domainname
,但之前没有声明(或将其作为参数传递给函数)。
假设在调用函数时已经定义了domainname
,只需更改函数签名即可。
更改线路:
def pingfunc():
带有:
def pingfunc(domainname):
调用函数时,将domainname
作为参数传递。