Python 将2个正则表达式函数合并为1个函数

Python 将2个正则表达式函数合并为1个函数,python,python-3.x,Python,Python 3.x,我正在学习regex课程,为了让它更简单,我创建了两个函数。第一个用于re.findall,第二个用于re.search。有没有一种简单的方法来组合这两个函数,使我只有一个 import re def ans_findall(num,reg): data = open(r'2020_REGEX_COURSE/Ex_Files/regex'+num+'.txt', encoding='utf-8').read() data = re.findall(reg,data, re.MU

我正在学习regex课程,为了让它更简单,我创建了两个函数。第一个用于
re.findall
,第二个用于
re.search
。有没有一种简单的方法来组合这两个函数,使我只有一个

import re

def ans_findall(num,reg):
    data = open(r'2020_REGEX_COURSE/Ex_Files/regex'+num+'.txt', encoding='utf-8').read()
    data = re.findall(reg,data, re.MULTILINE)
    return data

def ans_search(num,reg):
    data = open(r'2020_REGEX_COURSE/Ex_Files/regex'+num+'.txt', encoding='utf-8').read()
    data = re.search(data, re.MULTILINE)
    return data

我的第一个建议是在不使用函数的情况下获得您想要的代码。我想你已经做到了。我想你的问题更多的是关于如何从一个函数返回两个值

def find_data(filename, pattern):
    with open(filename,'r', encoding='utf-8') as file_handle:
        data = file_handle.read()
    search_result  = re.search( data, pattern, re.MULTILINE)
    findall_result = re.findall(data, pattern, re.MULTILINE)
    return search_result, findall_result

num=str(5)
search_result, findall_result = find_data(
        '2020_REGEX_COURSE/Ex_Files/regex'+num+'.txt', 'someregexhere')
“一”功能会做什么?顺便说一句,你没有关闭你的文件。您使用的是
r'…'
语法,这是毫无意义的。