我尝试拆分多个在for循环中动态创建的变量,然后删除第一个空格后的所有变量。
小故事:我使用paramiko通过SSH连接网络交换机来提取VLAN信息。尝试为每个VLAN名称创建一个新变量,然后将所有变量返回到列表中供用户选择。
#VLANLines## were split from VLANList off \r\n. Variables created form a for loop
VLANLine1 = 'GGGGGGGGG 5 5/7'
VLANLine2 = 'HHHH 66 22/23'
VLANLine3 = 'SSSSSSS 33 3/4'
#HHHH and SSSSSS are random names I put in place for this question. This is the data I need to keep.
#Length of VLANList = 14 in this demo
i = 0
while i < len(VLANList):
VLANLine[i].split(" ")
del VLAN[i][1:]
错误
Traceback (most recent call last):
File "<pyshell#16>", line 2, in <module>
VLANLine[i].split(" ")
IndexError: string index out of range
如何动态拆分VLANLine ##&#39;然后删除空间后的所有内容?我也许会犯这个错误。几周前我刚开始使用python。
答案 0 :(得分:0)
这可能适合你。
cumsum
答案 1 :(得分:0)
str.split
干净利落地完成您的工作:
VLANList = [
'GGGGGGGGG 5 5/7',
'HHHH 66 22/23',
'SSSSSSS 33 3/4',
]
VLAN_Clean = [v.split()[0] for v in VLANList]
print(VLAN_Clean)
输出:
['GGGGGGGGG', 'HHHH', 'SSSSSSS']
split
将在第一个空格字符处拆分每个字符串,返回一个值元组。如果没有空白,它将只返回一个长度为1的元组,其中包含整个字符串。因此,在每个项目上运行拆分,然后从生成的元组中选择第一个项目可以为您提供正确的选择。