将字符串转换为模块

时间:2019-01-25 07:01:23

标签: python module python-module

有没有办法将字符串转换为模块对象?我想在执行API请求后进行函数调用,但是我无法将请求中获得的字符串转换为模块对象

我已经看到一些实际上可以做到的代码,但是可以通过导入模块来完成。

        import controller.mipay.controller as mipay

        @api.route('/redirect')
        class Request(Resource):
            parser = RequestChecker()
            def post(self):
                req = self.parser.parse_args() # <---- JSON/Dictionary

                #method_to_call = getattr(mipay, req['PaymentEndpoint'])
                method_to_call = getattr(req['PaymentMethod'], req['PaymentEndpoint'])

                return method_to_call()

无论如何,都可以将字符串转换为模块对象,或者可以将其转换为字符串,以便可以调用函数

2 个答案:

答案 0 :(得分:0)

__import__可能是您的答案:

module = __import__("module.path")

请参考:https://docs.python.org/3/library/importlib.html

答案 1 :(得分:0)

我假设req ['PaymentMethod']是模块,而req ['PaymentEndpoint']是方法。您可以使用importlib。

print_r($aSolutionsePost);