我是新來的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