首页 > 解决方案 > 如何从 txt.readlines() 中提取数据?

问题描述

我有一个代码,它读取文件似乎有一个小问题......但问题是它无法识别单词/字母,这就是我的意思extract('test.txt',('A','E','I','O','U'))test.txt一个 txt 文件,这('A','E','I','O','U')是我想要找到的单词。

我的代码:

def extract(file,find=()):
  with open(str(file),'r') as file:
    find = list(find)
    read_file = file.readlines()
    
    num1 = 0
    num = num1-1
    for vals in find:
      num1 += 1
    pass  
  
    for finds in read_file:
      linef = str(finds)
      main_obj = find[num]
        
      if main_obj in linef:
        print("Yay")
        
      elif linef != main_obj:
        print("NO")
        
      else:
          print("???")
    pass  


extract('test.txt',('A','E','I','O','U'))

我的输出是:

NO
NO
NO
NO
Yay

这是预期的输出:

Yay
Yay
Yay
Yay
Yay

里面test.txt

A
E
I
O
U

标签: pythonfile

解决方案


我就把这个留在这里。如果最终结果是将其中的每个变量与find其中的每一行进行比较,file那么这应该可以完成工作:

def extract(file, find=()):
    with open(file) as F:
        contents = F.readlines()

    for line in contents:
        if any([i in line for i in find]):
            print("Yay")
        else:
            print("NO")

extract("test.txt", ('A','E','I','O','U'))

推荐阅读