2011-02-17 81 views
1

我想弄清楚如何分割从套接字接收到的数据。我有套接字工作,我可以正确获取数据,但我现在想分割检索到的数据并获取最后一个字符串。这是我试图(数据是从插座接收的数据)Python从插座分割数据

split = data.split(' ') 
print split 
print split[-1] 

但是,当我尝试它不会工作出于某种原因。喜欢让我说我收到的字符串作为“test test1” 我想获得test1。

+0

拆分是否包含任何东西?你在`data`中有二进制数据吗?你的例子应该工作,只要它可以正确分割(假设字符串不为零等) – Skurmedel 2011-02-17 00:04:20

+0

我发送字符串“test test1”。没有二进制或任何只是该字符串。 – AustinM 2011-02-17 00:06:02

回答

1

对我来说,以下工作:

>>> data = "chdir /" 
>>> a = data.split(" ") 
>>> a 
['chdir', '/'] 
>>> a[-1] 
'/' 

这似乎是你在找什么。您的代码无法正常工作的原因可能与data的确切内容有关。

请注意,如果原始字符串中有多个空格,则使用.split(" ").split()稍有不同。例如,请参阅:

>>> "chdir /".split(" ") 
['chdir', '/'] 
>>> "chdir /".split(" ") 
['chdir', '', '/'] 
>>> "chdir /".split() 
['chdir', '/'] 
0

请注意,使用公用库函数的名称在自己的代码中命名对象是个不好的做法。

有时它会产生错误,但总是会造成混淆。