如何从txt文件中搜索单词到python

时间:2017-05-15 22:52:27

标签: python

如何在文本文件中显示长度为20的单词?

为了说明如何列出所有单词,我知道我可以使用以下代码:

#Program for searching words is in 20 words length in words.txt file
def main():
    file = open("words.txt","r")
    lines = file.readlines()
    file.close()
    for line in lines:
        print (line)
    return

main()

但我不知道如何聚焦并用20个字母显示所有单词。

非常感谢

3 个答案:

答案 0 :(得分:5)

如果你的行有文字行而不是每行一个单词,你首先必须拆分它们,这会返回一个单词列表:

words = line.split(' ')

然后你可以迭代这个列表中的每个单词并检查它的长度是否为20。

for word in words:
    if len(word) == 20:
        # Do what you want to do here

如果每一行都有一个单词,您可以直接操作line并跳过for循环。您可能需要删除尾随行尾字符word = line.strip('\n')。如果你只是想收集它们,你可以这样做:

words_longer_than_20 = []    
for word in words:
        if len(word) > 20:
            words_longer_than_20.append(word)

答案 1 :(得分:2)

如果您的文件每行只有一个单词,而您只想要包含20个字母的单词,则只需使用:

     with open("words.txt", "r") as f:
         words = f.read().splitlines()
         found = [x for x in words if len(x) == 20]

然后您可以打印列表或单独打印每个单词

答案 2 :(得分:1)

你可以试试这个:

1. List<Orders> orders = JsonConvert.DeserializeObject<List<Orders>>(jsonString); 

2. List<Orders.RootObject> orders = JsonConvert.DeserializeObject<List<Orders.RootObject>>(this.Json);

3. var root = JsonConvert.DeserializeObject<List<Orders.RootObject>>(this.Json);