python列表索引超出范围 等于啥_python中的“列表索引超出范围”
我有一個python代碼來索引包含阿拉伯語單詞的文本文件。我在一個英文文本上測試了代碼,它運行得很好,但是當我測試阿拉伯語時,它給了我一個錯誤。
注意:文本文件以unicode編碼保存,而不是ANSI編碼。在
這是我的代碼:from whoosh import fields, index
import os.path
import csv
import codecs
from whoosh.qparser import QueryParser
# This list associates a name with each position in a row
columns = ["juza","chapter","verse","voc"]
schema = fields.Schema(juza=fields.NUMERIC,
chapter=fields.NUMERIC,
verse=fields.NUMERIC,
voc=fields.TEXT)
# Create the Whoosh index
indexname = "indexdir"
if not os.path.exists(indexname):
os.mkdir(indexname)
ix = index.create_in(indexname, schema)
# Open a writer for the index
with ix.writer() as writer:
with open("h.txt", 'r') as txtfile:
lines=txtfile.readlines()
# Read each row in the file
for i in lines:
# Create a dictionary to hold the document values for this row
doc = {}
thisline=i.split()
u=0
# Read the values for the row enumerated like
# (0, "juza"), (1, "chapter"), etc.
for w in thisline:
# Get the field name from the "columns" list
fieldname = columns[u]
u+=1
#if isinstance(w, basestring):
# w = unicode(w)
doc[fieldname] = w
# Pass the dictionary to the add_document method
writer.add_document(**doc)
with ix.searcher() as searcher:
query = QueryParser("voc", ix.schema).parse(u"???")
results = searcher.search(query)
print(len(results))
print(results[1])
那么錯誤是:
^{pr2}$
以下是文件示例:1 1 1 ????
1 1 2 ???
1 1 3 ???
1 1 4 ????
總結
以上是生活随笔為你收集整理的python列表索引超出范围 等于啥_python中的“列表索引超出范围”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《怪物火车》觉冥卡组阵容搭配一览
- 下一篇: python shell下载很慢_Pyt