我是新来的Python和有,我不知道如何解决如何导入来自特定文件夹中的几个文件在python
我需要写一个模块(目录C:/Python
)即能导入问题并执行位于其他文件夹中的所有.py
文件(例如C:/Python/Dir
)。 我知道如何访问目录(sys.path.append('C:\\Python26\\Dir')
),但我该如何创建一个能够从该文件夹中导入所有.py
文件的循环?
我是新来的Python和有,我不知道如何解决如何导入来自特定文件夹中的几个文件在python
我需要写一个模块(目录C:/Python
)即能导入问题并执行位于其他文件夹中的所有.py
文件(例如C:/Python/Dir
)。 我知道如何访问目录(sys.path.append('C:\\Python26\\Dir')
),但我该如何创建一个能够从该文件夹中导入所有.py
文件的循环?
你真的应该用glob
一起使用__import__
内置功能:
os.chdir(path)
for file in glob.glob('*.py')
__import__(file[:-2])
如果您导入目录中的所有文件被一些水珠,你怎么能访问这些模块的内容没有名字?也许有一种方法可以获得所有导入的模块,即使它们是匿名的(请参阅Return a list of imported Python modules used in a script? - 这不是一件容易的事),但是明确列出它们不是更容易吗?
也许你可以在你的目录中创建一些__init__.py
文件,并在那里用适当的模块名显式地列出导入的文件。
我猜他编写了一些调试工具或其他东西;你不能期望从pydoc在受保护的目录中创建文件,你能吗?关于名称,他可以创建一个列表并使用'getattr(globals(),name)'。 – lolopop
你有写过任何代码吗? –
os.walk可以帮助你看看这里... http://docs.python.org/library/os.html#os.walk – avasal