所以我正在通過Python中的一個腳本工作,打開一個包含電子郵件標題的文件,我正在解析find()一個特定的設置我想用來稍後執行一些數學函數的浮點數。我想使用rfind()找到一個str中的最高索引,但它返回最低索引
這裏是我的代碼只是爲了好玩:
fname = raw_input("What is the file name? ")
fhand = open(fname)
total = 0
count = 0
for line in fhand:
line = line.rstrip()
linePos = line.rfind('X-DSPAM-Confidence: ')
if linePos >= 0:
rnum = line[linePos + 1: (linePos + 1)+7]
print rnum
#total += float(rnum)
#count += 1
elif linePos == -1:
continue
#avg = total/count
#print "Average spam confidence: " + avg
我想使用RFIND()來獲得在STR我在以切片[]浮點數我搜索指數最高想要從正在閱讀的行讀取。
我出來放在一個測試打印我跑去看在我的RFIND()是把我打算這樣:
What is the file name? mbox-short.txt
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
-DSPAM-
我沒有任何幫助真正有興趣解決它,因爲我已經可以做到它使用find()方法,並根據需要調整我的索引以獲取我需要使用的float()數據。
我的問題更多的是關於rfind()本身,以及我是否正確使用它和/或錯過了關於它的使用的文檔中的某些東西。當我讀到Python2.7文檔時,它指出它的使用與find()完全相同,除了它返回str的最高索引。在我的情況下,它沒有,它只是像find()那樣起作用並返回最低的索引。
我接下來想到的另一件事是它是否已被棄用,因爲Python2.7文檔提到該頁面上的某些方法已被棄用。
我不知道。有人有任何意見?或者我只是作爲一個noob,讓rfind()完全錯誤?
它返回最右邊匹配的_first_字符的索引。您可能會覺得困惑,認爲它會返回匹配_last_字符的索引(它不會)。 – Selcuk
他說什麼。另外,'string'模塊中的那些_functions_不推薦使用,但等效的'str.' *方法*不推薦使用**。 –