Python 将函数从路径导入列表/目录 什么

Python 将函数从路径导入列表/目录 什么,python,python-3.x,python-import,Python,Python 3.x,Python Import,我正在尝试将所有函数从文件(给定其路径)导入列表/目录 目前,我正在使用所说的和。结果是这样的 import inspect import importlib.util def functions_from_file(path_to_module): spec = importlib.util.spec_from_file_location("my_module", path_to_m

我正在尝试将所有函数从文件(给定其路径)导入列表/目录

目前,我正在使用所说的和。结果是这样的

import inspect
import importlib.util

def functions_from_file(path_to_module):
    spec = importlib.util.spec_from_file_location("my_module", 
                                                  path_to_module)
    module  = importlib.util.module_from_spec(spec)
    spec.loader.exec_module(module)
    custom_functions = inspect.getmembers(module, inspect.isfunction)
    return dict(custom_functions)
至少对我来说,这似乎很复杂。有没有更好/更干净的方法

为什么? <>我之所以这样做是因为我希望用户能够指定一个文件,其中包含一个函数列表,这些函数将在我的代码中间执行。因此,该文件可以如下所示:

def fun1(my_dict):
    my_dict['foo'] = my_dict['bar']*2

def fun2(my_dict):
    my_dict['baz'] = my_dict['foo'] - my_dict['bar']
然后在我的代码中应该有

for fun in functions_list:
    fun(my_dict)

您是否尝试将py文件作为模块导入目标文件


我既不知道文件名,也不知道路径,也不知道其中的函数名。好的,知道了。但是你原来的帖子提到你得到了文件的路径。如果您知道文件所在的目录,仍然可以使用以下信息列出模块中的所有函数:。希望这有帮助!您的链接显示了如何导入模块并将方法的名称显示为字符串。此外,我需要硬编码模块的路径,不能将其作为输入。我的问题远不止这些。您可以尝试运行我发布的代码片段,以了解想要的行为。将目录添加到
sys.path
然后正常导入如何?另外,看看如何使用插件库,听上去它可以做你想做的事情。