我尝试将变量值作为参数传递给我在for循环中调用的函数。不知何故,在调用函数之前,当我打印变量值时,它们显示得很好,但没有传递到函数中,因为我得到的索引超出了范围:0,这意味着没有传递任何内容。研究没有用…你的帮助真的很感激。 代码为:
for clx in root.findall('sample'):
CName = clx.find('Name').text
No01 = clx.find('First').text
No02 = clx.find('Second').text
print "Cname provided is" +CName
print "First is" +No01
print "Second is" +No02
createCluster(CName, No01, No02)
创建群集:
def createCluster(CName, No01, No02):
print len(sys.argv)
ClsName=sys.argv[0]
Node01=sys.argv[1]
Node02=sys.argv[2]
错误:
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "createCluster.py", line 8, in createCluster
ClsName=sys.argv[0]
IndexError: index out of range: 0
您没有正确提取传递给方法的参数。在Python中,只需使用方法中定义的参数,如下所示:
以上将输出
对于您使用
sys.argv
的问题,您不正确地使用了:来自sys.argv文档的片段:
例如,从shell提示符调用代码时:
在
your_script.py
里面你会发现将输出:
所以,你在这里看到,它最终给你的脚本和所有参数的名称。你知道吗
这可能是您在调用脚本和调用脚本中的方法之间产生混淆的原因。你知道吗
相关问题 更多 >
编程相关推荐