'Facing an error during dynamic method creation using string name as input from csv file in python

i am trying to call a dynamic method created using exec(), facing error as fixture 'Template_SI' not found.

can someone help on how to pass dynamic parameters using globals()function_name

import pytest
import input_csv

datalist = input_csv.csvdata()


def display():
    return 10 + 5


for data in datalist:
    functionname = data['TCID']
    parameters = [data['Template_name'], data['File_Type']]
    body = 'print(display())'


    def createfunc(name, *params, code):
        exec('''
@pytest.mark.regression
def {}({}):
    {}'''.format(name, ', '.join(params), code), globals(), globals())


    createfunc(functionname, data['Template_name'], data['File_Type'], code=body)
    templateName = data['Template_name']
    fileType = data['File_Type']
    globals()[functionname](templateName, fileType)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source