Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未定义具有_main__全局名称的python telnet函数_Python_Function_Global_Main - Fatal编程技术网

未定义具有_main__全局名称的python telnet函数

未定义具有_main__全局名称的python telnet函数,python,function,global,main,Python,Function,Global,Main,我是使用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(

我是使用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 + "\r\n")
    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 + "\r\n")   
NameError: global name 'domainname' is not defined
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
telnet.write(“ping”+域名+“\r\n”)
NameError:未定义全局名称“domainname”

您可以为本例提供帮助吗?

您正在函数
pingfunc()
中使用变量
domainname
,之前未声明该变量(或将其作为参数传递给函数)

假设调用函数时已定义了
domainname
,只需更改函数签名即可

更改行:

def pingfunc():
与:


调用函数时,将
domainname
作为参数传递。

在函数
pingfunc()
中使用变量
domainname
,之前没有声明它(或将它作为参数传递给函数)

假设调用函数时已定义了
domainname
,只需更改函数签名即可

更改行:

def pingfunc():
与:


调用函数时,将
domainname
作为参数传递。

在函数
pingfunc()
中使用变量
domainname
,之前没有声明它(或将它作为参数传递给函数)

假设调用函数时已定义了
domainname
,只需更改函数签名即可

更改行:

def pingfunc():
与:


调用函数时,将
domainname
作为参数传递。

在函数
pingfunc()
中使用变量
domainname
,之前没有声明它(或将它作为参数传递给函数)

假设调用函数时已定义了
domainname
,只需更改函数签名即可

更改行:

def pingfunc():
与:



调用函数时,将
domainname
作为参数传递。

谢谢alfasin,我试图在pingfunc()中放置“global domainname”,但它不起作用,你能指导我吗?Thanks@marcohk如果已经定义了
domainname
,只需将其作为参数传递给函数:
def pingfunc(domainname):…
请参见示例above@marcohk:如果没有全局变量,则显然无法使用。@alfasin,将其更改为def pingfunc(域名):,内部服务器错误500,我不确定是什么问题telnet函数在使用“def pingfunc(domainname:”时似乎无法接受url,输出错误更改为pingfunc(8.8.8.8)SyntaxError:无效Syntaxes感谢alfasin,我试图在pingfunc()中放置“global domainname”但它不起作用,你能指导我吗?Thanks@marcohk如果已经定义了
domainname
,只需将其作为参数传递给函数:
def pingfunc(domainname):…
请参见示例above@marcohk:如果没有全局变量,则显然无法使用。@alfasin,当将其更改为def pingfunc(域名)时:,内部服务器错误500,我不确定是什么问题telnet函数在使用“def pingfunc(domainname):”时似乎无法接受url,输出错误更改为pingfunc(8.8.8.8)SyntaxError:无效语法感谢alfasin,我试图在pingfunc()中放置“global domainname”,但无效,你能指导我吗?Thanks@marcohk如果已经定义了
domainname
,只需将其作为参数传递给函数:
def pingfunc(domainname):…
请参见示例above@marcohk:如果没有全局变量,则显然无法使用。@alfasin,将其更改为def pingfunc(域名):,内部服务器错误500,我不确定是什么问题telnet函数在使用“def pingfunc(domainname:”时似乎无法接受url,输出错误更改为pingfunc(8.8.8.8)SyntaxError:无效Syntaxes感谢alfasin,我试图在pingfunc()中放置“global domainname”但它不起作用,你能指导我吗?Thanks@marcohk如果已经定义了
domainname
,只需将其作为参数传递给函数:
def pingfunc(domainname):…
请参见示例above@marcohk:如果没有全局变量,则显然无法使用。@alfasin,当将其更改为def pingfunc(域名)时:,内部服务器错误500,我不确定是什么问题telnet函数在使用“def pingfunc(domainname):”时似乎无法接受url,输出错误更改为pingfunc(8.8.8.8)SyntaxError:无效语法