格式和列表问题
Issue with format and lists
我有一个循环,我在其中更改列表,然后使用 format
构建一个新字符串。使用这条线时
strCommand = strCommand.format(*strCmdVars)
我发现当我遍历数据时字符串不会更新,strCommand
将保持其原始值。但是当我把它改成这个
strCmd = strCommand.format(*strCmdVars)
事情开始按预期进行。
是我偶然发现了一些奇怪的事情,还是我第一次做错了什么?
这是 Windows 7 上 Python 3.4.3 版下的 运行。
以下是一些具体操作:
strCommand = "show run {0} access-list {1}"
strCmdVars = ["ipv6","FWG31"]
在实际脚本中,我使用这样的追加来初始化 strCmdVars
strCmdVars.append(parts1)
strCmdVars.append(parts2)
然后,当我遍历我正在读取的文件(这是 parts1 和 parts2 的值的来源)时,我在循环结束时执行
strCmdVars[0]=parts1
strCmdVars[1]=parts2
为了简化起见,我的例子是外推法。当我遍历文件时,strCmdVars 可以包含以下任何值:
ipv6,FWG31
ipv4,FWG32
ipv4,FWG33
ipv6,FWG34
ipv4,FWG31
等等
我使用 dbp 调试验证了 strCmdVars 的值确实更改为正确的值,并且 strCommand 的值没有更改并保持其初始值。
我才明白我做错了什么以及为什么我的修复有效,有时你只需要睡一觉就能弄明白:-P 好的,请按照这里进行操作。
strCommand = "show run {0} access-list {1}"
的初始值
然后我使用格式函数将 {0} 和 {1} 替换为实际值,比如 "IPv6" 和 "FWG32".
现在strCommand = "show run IPV6 access-list FWG32"
看问题???没有更多的 {0} 和 {1} !!! :-D
我有一个循环,我在其中更改列表,然后使用 format
构建一个新字符串。使用这条线时
strCommand = strCommand.format(*strCmdVars)
我发现当我遍历数据时字符串不会更新,strCommand
将保持其原始值。但是当我把它改成这个
strCmd = strCommand.format(*strCmdVars)
事情开始按预期进行。 是我偶然发现了一些奇怪的事情,还是我第一次做错了什么? 这是 Windows 7 上 Python 3.4.3 版下的 运行。 以下是一些具体操作:
strCommand = "show run {0} access-list {1}"
strCmdVars = ["ipv6","FWG31"]
在实际脚本中,我使用这样的追加来初始化 strCmdVars
strCmdVars.append(parts1)
strCmdVars.append(parts2)
然后,当我遍历我正在读取的文件(这是 parts1 和 parts2 的值的来源)时,我在循环结束时执行
strCmdVars[0]=parts1
strCmdVars[1]=parts2
为了简化起见,我的例子是外推法。当我遍历文件时,strCmdVars 可以包含以下任何值:
ipv6,FWG31
ipv4,FWG32
ipv4,FWG33
ipv6,FWG34
ipv4,FWG31
等等
我使用 dbp 调试验证了 strCmdVars 的值确实更改为正确的值,并且 strCommand 的值没有更改并保持其初始值。
我才明白我做错了什么以及为什么我的修复有效,有时你只需要睡一觉就能弄明白:-P 好的,请按照这里进行操作。
strCommand = "show run {0} access-list {1}"
的初始值
然后我使用格式函数将 {0} 和 {1} 替换为实际值,比如 "IPv6" 和 "FWG32".
现在strCommand = "show run IPV6 access-list FWG32"
看问题???没有更多的 {0} 和 {1} !!! :-D