2012-10-15 55 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

相關問題