[英]How can I import a module as a parameter in a function in python 3
我嘗試將模塊作為函數中的參數導入。 但是我的 PyCharm 顯示一個錯誤有人可以幫我嗎
#代碼
#該程序顯示來自模塊(例如 os)的所有命令 def schow(name): import name
a = list((str(dir(name))).split(",")) for i in range(0, len(a)): print(str(i) + a[i])
肖(操作系統)
錯誤
Traceback(最近一次調用最后一次):文件“/Users/ /PyChrm/ / / .py”,第 10 行,在 schow(os) NameError: name 'os' is not defined
進程以退出代碼 1 結束
歡迎來到 StackOverflow 😊👋
正如這里所評論的,您正在尋找importlib.import_module
模塊。
你可以這樣做:
import importlib
# Single line import
importlib.import_module('itertools.combinations')
# Looping import
MODULES = {
'typing': ['Optional', 'Union', 'List']
}
for (module, submodules) in MODULES.items():
for submodule in submodules:
importlib.import_module(f"{module}.{submodule}")
或者您可以手動執行此操作,如下所示:
MODULES = {
'itertools': ['combinations'],
'typing': ['Optional', 'Union', 'List']
}
for (module, submodules) in MODULES.items():
import_str = f"from {module} import {', '.join(submodules)}"
exec(import_str)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.