-3

当我输入7,17但结果是

ifDescr.7
ifDescr.70
ifDescr.17

如果我希望输入时的结果是 7 和 17,我7 17该如何编码?

ifDescr.7
ifDescr.17

文本文件

ifDescr.7
ifDescr.70
ifDescr.17
def search_multiple(file_name, list_of_strings):
    line_number = 0
    list_of_results = []
    with open(file_name, 'r') as read:
        for line in read:
            line_number += 1
            for x in list_of_strings:
                if x in line:
                    list_of_results.append((x,line_number,line.rstrip()))
    return list_of_results

def main ():
    folder = ('single.txt')
    verify1,verify2 = input ("Input number").split()
    matched_lines = search_multiple(folder,['ifDescr.' + verify1, 'ifDescr.' + verify2,])
    for x in matched_lines:
        print('Line = ', x[2])

if __name__ == '__main__':
    main()
4

1 回答 1

2

这种行为的原因是您正在使用in检查字符串是否在行中。ifDescr.70包含在其中,结果ifDecsr.7也包含它。试试下面的功能:

def search_multiple(file_name, list_of_strings):
    line_number = 0
    list_of_results = []
    with open(file_name, 'r') as read:
        for line in read:
            line_number += 1
            for x in list_of_strings:
                if x == line.strip():
                    list_of_results.append((x,line_number,line.rstrip()))
    return list_of_results
于 2021-10-12T03:04:19.550 回答