2011-02-17 31 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

請注意,使用公用庫函數的名稱在自己的代碼中命名對象是個不好的做法。

有時它會產生錯誤,但總是會造成混淆。