0

以下功能似乎很简单,但我不断得到:

NameError:未定义全局名称“this_submit”。

想法?

def sort_nodes():

host_list=Popen(hosts_cmd.split(),stdout=PIPE).communicate()[0].strip()
exec_list=Popen(exec_cmd.split(),stdout=PIPE).communicate()[0].strip()
if submit_cmd == '':
    submit_list = [x for x in host_list if x not in exec_list]
else:
    submit_list=Popen(submit_cmd.split(),stdout=PIPE).communicate()[0].strip()
for host in host_list:
    if host in exec_list:
        this_exec == 'Exec'
    else:
        this_exec == ''
    if host in submit_list:
        this_submit == 'Submit'
    else:
        this_submit == ''
    output="%s,%s,%s\n" % (host,this_submit,this_exec)
    ofile.write(output)
4

2 回答 2

1

正确的语法是:

this_submit = 'Submit'   

this_submit = ''

在 python 中,单=是赋值运算符。

==检查两个操作数的值是否相等,如果是则条件为真。

于 2013-05-26T18:18:11.590 回答
0

你写==而不是=. 修复它,一切都会好起来的。

于 2013-05-26T18:12:05.423 回答