python如何替换或拆分字符串列表中的行\r

python如何替换或拆分字符串列表中的行\r,python,paramiko,Python,Paramiko,我在paramikossh会话中有几行类似于下面的输出。我首先根据\n进行拆分,并将每行存储在一个列表中。因此,整个ssh会话作为一个完整的字符串出现,因此我基于\n进行拆分。但是这里有\r,请参见下文。如果我在\r上再次尝试拆分,它将失败,因为我已经有一个列表 |\r/\r-\r\\r\\\r|\r/\r[2K\r00:31:43 - Executing system_health v107 如果我将文本粘贴到notepad++中,\r看起来像是返回或新行 '| / - \\ |

我在
paramiko
ssh会话中有几行类似于下面的输出。我首先根据
\n
进行拆分,并将每行存储在一个列表中。因此,整个ssh会话作为一个完整的字符串出现,因此我基于
\n
进行拆分。但是这里有
\r
,请参见下文。如果我在
\r
上再次尝试拆分,它将失败,因为我已经有一个列表

|\r/\r-\r\\r\\\r|\r/\r[2K\r00:31:43 - Executing system_health v107
如果我将文本粘贴到notepad++中,
\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
并将每一行作为列表中的一行。然后,我可以删除我不需要的字符串。

如果您有一个字符串列表,您所要做的就是在列表上迭代,处理每个字符串。在这种情况下,您似乎需要另一个结果列表。考虑到您提供的最少数据

>>> 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']
在a:循环中的
for i中,在将数据附加到新列表(b)之前,您可以根据需要执行任意多个步骤来操作数据

注意:我假设每个字符串在时间戳之前都是
[2K\r
,情况可能不一定如此,但主体保持不变。

您可以使用
[line.strip()表示行中的行]
或仅从
\r\n
开始拆分。您能否给出实际的起始字符串,也就是
\n
所在的位置?我认为如果您希望仅基于所有空格进行拆分,可以使用
.split()
,不带任何参数。或者您可以尝试
.split('\r\n'))
@AnandSKumar您的建议会在所有空格上拆分吗?这可能不是我们想要的行为。@code学徒是的,会的。我们可以尝试在
\r\n
以及COLDSPEED Suggered上拆分。@AnandSKumar这似乎更合适,但在OP显示“原始字符串”示例之前,我们无法确定在任何拆分之前。谢谢,我想我只是太累了,想得太多了。谢谢你的智慧之言,是的,只需拆分\n,拆分\r,然后从拆分列表中删除每行\r,我可以排除某些我不需要的行。