簡體   English   中英

如何在 python 3 的函數中導入模塊作為參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM