所以我想做的是将所有行都设为小写,然后使用我的part_list搜索frys.txt中匹配的所有单词并将其附加到项目中。我在创建一个遍历列表中每个单词的循环时遇到了很多麻烦,只是实际找到了frys.txt中的单词。如果可能的话,我甚至试图找到双打。但我想要做的主要事情就是找到该单词存在并将其附加到项目中。
任何建议都会很棒!
items = []
part_list = ['ccs', 'fcex', '8-12', '8-15', '8-15b', '80ha3']
f = open("C:/Users/SilenX/Desktop/python/frys.txt", "r+")
searchlines = f.readlines()
f.close()
for n, line in enumerate(searchlines):
p = 0
if part_list[p] in line.split():
part_list[p] = part_list[p + 1]
parts = searchlines[n]
parts = parts.strip('\n')
items.append(parts)
print items
答案 0 :(得分:0)
你正在做一些复杂的事情,我认为这是不必要的枚举,它看起来像你的内心循环"没有做你想做的事(因为你已经写过它,它不是一个循环)。试试这个:
part_list = ['ccs', 'fcex', '8-12', '8-15', '8-15b', '80ha3']
items = []
f = open("C:/Users/SilenX/Desktop/python/frys.txt", "r") # Open the file
for line in f:
for token in line.lower().split(): # Loop over lowercase words in the line
if token in part_list: # If it's one of the words you're looking for,
items.append(token) # Append it to your list.
f.close()
print items
这将找到列表中显示的文件中的所有单词。 不会识别您文件中附加到其他内容的字词,例如"ccs."
或"fcex8-12"
。如果你想要这样,你就必须改变搜索的工作方式,这样你就可以计算part_list
中每个单词出现在行中的次数,而不是计算行中的单词数量{ {1}}。