您能用Python执行内联导入吗?
假设您只想在代码中调用正则表达式一次。据我所知,这意味着您需要在从您能用Python执行内联导入吗?,python,import,Python,Import,假设您只想在代码中调用正则表达式一次。据我所知,这意味着您需要在从re调用函数之前的某个地方执行import re。是否可以将其与函数调用结合起来,在线? 我想也许像这样的东西会有用 print(导入重新;重新搜索(r'',).group()) 但它只是在导入时抛出了一个错误,表示语法无效。这让我相信,做这件事的唯一方法是 重新导入 打印(重新搜索(r“”,).group()) 回答问题: 您能用Python执行内联导入吗 您可以使用内置模块: 输出: 'h' 当然,它需要您首先导入impo
re
调用函数之前的某个地方执行import re
。是否可以将其与函数调用结合起来,在线?
我想也许像这样的东西会有用
print(导入重新;重新搜索(r'',).group())
但它只是在导入时抛出了一个错误,表示语法无效。这让我相信,做这件事的唯一方法是
重新导入
打印(重新搜索(r“”,).group())
回答问题:
您能用Python执行内联导入吗
您可以使用内置模块:
输出:
'h'
当然,它需要您首先导入importlib
模块:
import importlib
print(importlib.import_module('re').search("h", "hello").group())
从:
import\u module()
函数充当了importlib.\uu import\uu()
的简化包装器。这意味着函数的所有语义都是从importlib.\uuuu import\uuuu()
派生的。这两个函数之间最重要的区别是,import\u module()
返回指定的包或模块(例如pkg.mod),而\uu import\uu()
返回顶级包或模块(例如pkg)
对的执行全局导入更重要的是,对于运行时效率而言,模块导入方法的
没有任何好处。不用麻烦了,如果这是你唯一的动机如果代码很少被调用,你可以在一个函数内部导入一个来执行单行操作
在python中是肮脏的,我会完全避免它们
import importlib
print(importlib.import_module('re').search("h", "hello").group())