这就是我所拥有的:
glob(os.path.join('src','*.c'))
Run Code Online (Sandbox Code Playgroud)
但我想搜索src的子文件夹.像这样的东西会起作用:
glob(os.path.join('src','*.c'))
glob(os.path.join('src','*','*.c'))
glob(os.path.join('src','*','*','*.c'))
glob(os.path.join('src','*','*','*','*.c'))
Run Code Online (Sandbox Code Playgroud)
但这显然是有限和笨重的.
我想通过我的程序传递一个文件并从中获取一个函数.
例如,我有一个文件,foo.py谁的位置直到运行时才知道(它将通过命令行传递给代码或类似的东西),可以在我的系统上的任何位置,如下所示:
def bar():
return "foobar"
Run Code Online (Sandbox Code Playgroud)
如何让我的代码运行该函数bar?
如果在运行时之前知道该位置,我可以这样做:
import sys
sys.path.append("path_to_foo")
import foo
foo.bar()
Run Code Online (Sandbox Code Playgroud)
我可以init.py在文件夹中创建一个文件,foo.py然后使用importlib或者imp看起来很麻烦.我不能用__import__我取ImportError: Import by filename is not supported.