2012-10-15 29 views
1

我是新来的Python和有,我不知道如何解决如何导入来自特定文件夹中的几个文件在python

我需要写一个模块(目录C:/Python)即能导入问题并执行位于其他文件夹中的所有.py文件(例如C:/Python/Dir)。 我知道如何访问目录(sys.path.append('C:\\Python26\\Dir')),但我该如何创建一个能够从该文件夹中导入所有.py文件的循环?

+1

你有写过任何代码吗? –

+0

os.walk可以帮助你看看这里... http://docs.python.org/library/os.html#os.walk – avasal

回答

1

你真的应该用glob一起使用__import__内置功能:

os.chdir(path) 
for file in glob.glob('*.py') 
    __import__(file[:-2]) 
+0

它的工作原理!万分感谢! – Anastasia

+0

如果它的工作,你应该接受的答案;) – lolopop

+0

对不起,我是新来的,我不知道rules.I希望现在没关系。 – Anastasia

0

如果您导入目录中的所有文件被一些水珠,你怎么能访问这些模块的内容没有名字?也许有一种方法可以获得所有导入的模块,即使它们是匿名的(请参阅Return a list of imported Python modules used in a script? - 这不是一件容易的事),但是明确列出它们不是更容易吗?

也许你可以在你的目录中创建一些__init__.py文件,并在那里用适当的模块名显式地列出导入的文件。

+0

我猜他编写了一些调试工具或其他东西;你不能期望从pydoc在受保护的目录中创建文件,你能吗?关于名称,他可以创建一个列表并使用'getattr(globals(),name)'。 – lolopop

相关问题