在Ruby中,我没有多次重复“require”(Python中的“import”)一词,而是
%w{lib1 lib2 lib3 lib4 lib5}.each { |x| require x }
所以它迭代了一系列的“libs”和“require”(import),每一个,现在我在写一个Python脚本,我想做一些类似的事情,有没有办法,或者我需要为所有这些写“import”。
直接的“推导”就像下面的代码,无论如何,因为Python不导入以字符串命名的库,所以它不工作。
requirements = [lib1, lib2, lib3, lib4, lib5]
for lib in requirements:
import lib
7条答案
按热度按时间q0qdq0h21#
对于已知模块,仅用逗号分隔:
如果你真的需要基于动态变量编程导入,你的ruby的直译应该是:
尽管在您的示例中不需要这样做。
wfsdck302#
试试这个:
您还可以通过这种方式更改导入它们时使用的名称,如下所示:
irlmq6kh3#
如果需要多行:
ckx4rj1h4#
第一个月
icnyk63a5#
可以使用
__import__
函数从包含模块名称的字符串导入。brc7rcf06#
我今天刚从一位同事那里了解到,根据PEP 8样式指南,Python中的导入实际上应该写在单独的行中:
样式指南错误地调用
import sys, os
。de90aj5v7#
如果您有一个表示模块的字符串列表,则可以使用
__import__
,但是如果您遵循文档中的提示直接使用importlib.import_module
,则可能会更简洁:您无法通过这种方式将导入的库作为变量使用,但可以通过
imported_libs
字典访问它们:您还可以更新您的
globals
,然后像“正常”导入一样使用它们: