11

我正在尝试使用 telnetlib 在 Telnet 会话中捕获和操作数据,一切进展顺利,但是我对 Python 的新手让我有些头疼。

我的问题非常简单,我能够捕获并显示我想要的数据(到目前为止),但是每当我尝试从我捕获的数据中删除最后一行数据时,我似乎只是在循环错误。我的代码是这样的:

... Snipped Boring Stuff ...
tn.write('command to gather data' + '\r')
data = tn.read_very_eager()
print data
... snipped more boring stuff ...

很简单......那么,我到底如何从 tn.read_very_eager() 或 data() 中删除最后一行数据?

任何方向都会很棒......对不起这个非常简单的问题,但到目前为止我已经阅读和尝试过的东西除了让我感到沮丧之外什么也没做,我的键盘不能承受更多的滥用:)

4

1 回答 1

21

您可以像这样删除字符串的最后一行:

def remove_last_line_from_string(s):
    return s[:s.rfind('\n')]

string = "String with\nsome\nnewlines to answer\non StackOverflow.\nThis line gets removed"

print string
string = remove_last_line_from_string(string)
print '\n\n'+string

输出将是:

>>>
String with
some
newlines to answer
on StackOverflow.
This line gets removed


String with
some
newlines to answer
on StackOverflow.
>>>
于 2013-09-08T11:25:28.140 回答