有没有办法在多行导入中使用from X import Y as Z
成语?
具体来说,我想写一些像from some.very.long.package.name import LongName as OtherLongName
这样的东西。整件事不适合一行。
所以我尝试用括号来编写它来跨行,但我发现as
关键字有一些奇怪的行为。具体做法是:
#this is just fine
from os import (
path)
#this is a syntax error
from os import (
path) as os_path
因此,我想出去做我想要的唯一方法是:
from some.very.long.package.name import (
LongName)
OtherLongName = LongName
有没有办法在一个声明中这样做?
答案 0 :(得分:5)
在您要停止的位置添加斜杠:
from some.very.long.package.name import \
LongName as OtherLongName
如果没有它,Python会认为该行结束并抛出SyntaxError
。
如果您对字符串的操作更方便,也可以使用importlib.import_module
:
from importlib import import_module
OtherLongName = import_module('some.very.long.package.name.LongName')