我有一個變量conts
它包含一個二進制文件的內容(以rb
作爲模式讀取它)。現在,當我嘗試通過切片獲取字符串的片段時,我期望看到變量的適當長度(顯然也是內容),但我不這樣做。在切分字符串時Python中的奇怪行爲 - 返回空字符串?
下面是代碼,我可以重現此,我的想法是怎麼回事上:但是
hdr1, hdr2 = conts[0:6], conts[10:7]
print "----------------"
print len(conts)
print len(hdr1)
print len(hdr2)
print len(conts)
print "----------------"
print type(hdr1)
print type(hdr2)
print type(conts)
輸出我得到的是:
----------------
32174321
6
0
32174321
----------------
<type 'str'>
<type 'str'>
<type 'str'>
這是怎麼回事?我認爲切片會爲每個切片創建一個新的字符串?
Python版本:2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
注:切片之間的四字節差距故意的。問題在於第二個切片返回一個零長度的字符串,即使有足夠的數據。我發現沒有文件(切片時)需要相鄰。
編輯:意識到我的錯誤後,我打算從字符串獲得超過17個字節的字節0-6和字節10至17
權,第二個參數是結束*標記*不長。 - >在鍵盤上頭。謝謝'*臉紅*' – 0xC0000022L