我有兩個文本文件,內容如下(分別爲file1.txt
和file2.txt
);python結果不一致
MKKVEAIIRPFKLDEVKIALVNAGIVGMTVSEVRGFGRQKGQTERYRGSEYTVEFLQKLKVEIVVEDNQVDMVVDKIIAAARTGEIGDGKIFISPVEQVIRIRTGEKNTEAV
和
3210我需要在此基礎上的字符串,我知道的索引取字符。現在,我需要獲取索引值之前的20個字符和索引值之後的20個字符,這使得總共包含41個字符(包括索引字符)。 這裏是我的代碼
with open('file1.txt', 'r') as myfile:
x = 50
data=myfile.read()
str1 = data[x:x+1+20]
temp = data[x-20:x]
print temp+str1
的file1.txt
一個輸出爲SEVRGFGRQKGQTERYRGSEYTVEFLQKLKVEIVVEDNQVD
這是正確的。
問題是如果我在file2.txt
上運行相同的代碼並將索引(x的值)更改爲56
,則我應該得到的輸出爲AASHTDLKVVGGASFVSGESYNTDGNGHGTHVAGTVAALDN
。相反,我得到ASHTDLKVVGGASFVSGESYNTDGNGHGTHVAGTVAALDNT
這是爲什麼?
@DanielLee我這樣做,是 – Ghauri
您的問題是你有問題表達你想要什麼。你想讓文字給你41字符鏈,它的中心有你字符串的第56個字符嗎?如果是這樣,你應該使用x = 55而不是56 – WNG
不能重現。作爲一個附註,你應該添加一個檢查'x <20',否則當slice的'from'位置爲負時你會得到有趣的結果。 –