我在paramiko
ssh会话中有几行类似于以下内容的输出。我首先根据\n
进行拆分并将每行存储在列表中。所以整个ssh会话都是一个完整的字符串,因此我根据\n
分割。但是这里有\r
,见下文。如果我尝试再次在\r
上拆分它会失败,因为我已经有了一个列表。
|\r/\r-\r\\r\\\r|\r/\r[2K\r00:31:43 - Executing system_health v107
如果我将文本粘贴到记事本++中,\r
看起来像返回或换行。
'|
/
-
\\
|
/
[2K
00:31:43 - Executing system_health v107'
如何将Python中读取的每行与此行相似
|\r/\r-\r\\r\\\r|\r/\r[2K\r00:31:43 - Executing system_health v107
并将其进一步分割/切片成另一个列表中的行?或其他一些方法。最终目标是删除\n
和\r
,并将每行作为列表中的一行。然后我可以删除我不需要的那些。
答案 0 :(得分:1)
如果你有一个字符串列表,你所要做的就是迭代列表,处理每个字符串。在这种情况下,您似乎需要另一个结果列表。鉴于您提供的数据最少。
>>> a=["|\r/\r-\r\\r\\\r|\r/\r[2K\r00:31:43 - Executing system_health v107","|\r/\r-\r\\r\\\r|\r/\r[2K\r00:31:44 - Executing system_health v108"]
>>> b=[]
>>> for i in a:
... x = i.split('[2K\r')
... b.append(x[-1])
...
>>> b
['00:31:43 - Executing system_health v107', '00:31:44 - Executing system_health v108']
在for i in a:
循环中,您可以根据需要执行操作数据所需的步骤,然后再将其附加到新列表中(b)
注意:我假设每个字符串在时间戳之前为[2K\r
,可能不一定是这种情况,但主体保持不变。