def get_file():
lst_Filename = []
while True:
Filename = input('\nPlease enter name of ballot file: ')
try:
read_Filename = open(Filename, 'r')
txt_Filename = read_Filename.readlines()
lst_Filename = [word.strip() for word in txt_Filename]
read_Filename.close()
return lst_Filename
except IOError:
print("The file",Filename,"does not exist.")
continue
lst_Filename = get_file()
lst2 = {}
for item in lst_Filename:
if item.index('1') == 0:
print(item)
lst_Filename的結構爲folllow ['1490 2 Mo','1267 3 Mo','2239 6 Mo','1449 7 Ks'],實際文件包含列表中的數百個項目。ValueError:未找到子字符串,我在做什麼錯?
我試圖選擇以'1'開頭的項目。當我運行該程序,前兩個項目進行打印
1490 2 Mo
1267 3 Mo
然後我得到了ValueError異常:字符串沒有找到,它說這個問題是與線「如果item.index(‘1’)== 0 :「,我假設因爲'2239 6 Mo'不以'1'開始
我不明白的是我的代碼對lst_Filename中的每個項目說,如果該項目(這是一個字符串)其0索引中的子串'1'然後選擇該項目。
是不是「如果」一個選擇語句,爲什麼不跳過程序通過不以「1」開頭的項目
感謝
item.find(「1」)同樣會失敗,如果「1 '不存在於字符串內 –
它將返回-1,但不會引發任何異常。 – Tamas