我是Python新手,遇到一个我不知道如何解决的问题
我需要编写一个模块(目录C:/Python
),它能够导入和执行位于其他文件夹中的所有.py
文件(例如C:/Python/Dir
)。
我知道如何访问目录(sys.path.append('C:\\Python26\\Dir')
)但是如何创建一个能够从该文件夹导入所有.py
文件的循环?
答案 0 :(得分:1)
您应该将__import__
内置函数与glob
一起使用:
os.chdir(path)
for file in glob.glob('*.py')
__import__(file[:-2])
答案 1 :(得分:0)
如果您通过某些glob导入目录中的所有文件,那么如何在没有名称的情况下访问这些模块内容?也许有一种方法可以获得所有导入的模块,即使它们是匿名的(参见Return a list of imported Python modules used in a script? - 这不是一项简单的任务),但明确列出它们是不是更容易?
也许您可以在目录中创建一些__init__.py
文件,并使用适当的模块名称明确列出导入的文件。