从一个字符串中捕获一个部分我给它一个整数所需的位置但是它一直告诉我它的元组我不知道为什么 即时通讯使用pexpect从网络设备获取版本
ssh_device.sendline('/info/sys/general')
ssh_device.expect('(?i)FLASH')
ver_long = ssh_device.before
print ver_long
print "\nthe ver_long type is "
print type(ver_long)
location = int(ver_long.find('('))
print "\nthe location type is "
print type(location)
print location
ver_short = ver_long[location-25,location]
print ver_short
输出是:
系统信息时间:0:05:17星期六,2070年1月3日时区: 美国/美国/太平洋夏令时状态:已启用
适用于IBM的BNT Layer 2/3铜缆千兆以太网交换机模块 BladeCenter的
开关已连续2天,8小时5分17秒。持续 boot :(从Telnet / SSH重置)
MAC地址:00:22:00:63:4a:00管理IP地址(如果为128): 10.106.12.25软件版本5.2.3.1(
ver_long类型是'str'
位置类型是'int'294 回溯(最近一次调用最后一次):文件“version.py”,第83行,在 ver_short = ver_long [location-25,location] TypeError:字符串索引必须是>整数,而不是元组
注意类型是int !!
答案 0 :(得分:3)
使用冒号而不是逗号来定义切片的开头和结尾:
ver_short = ver_long[location-25:location]