ifstatement下的代码在python中的false条件下执行

2024-09-21 11:42:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望if语句下的代码块仅在特定行中找到单词“trip”时运行。但是,我的打印输出表明,即使没有单词“trip”的行也在结果中。代码如下:

for line in file:
    #match = re.search(r'\rTrip', line)
    #if match:
    if line.find('\rTrip') != -1:
        someArray = []
        times = re.compile(r'\d+:\d+')
        miles = re.compile(r'\d+\.\d+')
        names = re.compile(r'[A-Za-z]{2,25}||\s[A-Za-z]{2,25}')

        nam = line.split('\rTrip')

        num = line.split()

        drivenTimes = times.findall(str(num))
        drivenMiles = miles.findall(str(num))

        driverNames = names.findall(str(nam))
        someArray.append(line)
        print(line)

Tags: 代码reifmatchline单词numcompile
2条回答

python中的子串匹配可以使用in操作符完成。即:

if 'trip' in line:
  # Code here for the presence of "trip"

请在此处查看正确的代码!!!你知道吗

import re

with open('C:\\Users\\Grace\\Documents\\test.txt', 'r') as lines:
       line2=lines.read().split('\n')    
       for line in line2:
               if line.find('Trip') == -1:

                  someArray = []

                 times = re.compile(r'\d+:\d+')
                 miles = re.compile(r'\d+\.\d+')
                 names = re.compile(r'[A-Za-z]{2,25}||\s[A-Za-z]{2,25}')

                 nam = line.split('\rTrip')


                 num = line.split()

                 drivenTimes = times.findall(str(num))
                 drivenMiles = miles.findall(str(num))



                driverNames = names.findall(str(nam))
                someArray.append(line)
                print(line)

相关问题 更多 >

    热门问题