有没有办法在一个别名下导入多个模块?
Is there a way to import multiple modules under one alias?
我试图在一个别名下导入多个库文件,而不使用 init.py 文件(因为 ROS 显然不支持它)。
示例:
假设我们有以下文件:
foo/
__init__.py # This file is empty, used to categorize foo as a package.
a.py
b.py
c.py
bar/
example.py
a、b 和 c 都包含我在示例中需要的不同功能,所以我导入它们
#example.py
from foo import a, b, c
a.fn1()
b.fn2()
c.fn3()
这行得通,但是有什么方法可以将它们全部分组在一个别名下吗?像这样:
#example.py
from foo import [a, b, c] as foo
foo.fn1()
foo.fn2()
foo.fn3()
同样,我知道这可以通过在 init.py 下导入它们来完成,但是由于我们的库是为了在 ROS 下工作,我们目前无法做到这样当 运行 在 ROS.
中时不会出现导入错误
提前致谢。
没有
脚本中的一个符号不能同时引用多个模块。
无论如何,对不同的模块使用不同的名称是一种更简洁的方法。
您可以尝试使用通配符 import
让您的生活更轻松一些
from foo.a import *
from foo.b import *
from foo.c import *
fn1()
fn2()
fn3()
但这最终会污染您的命名空间。我不推荐它。
你也可以试试(*
不推荐):
from foo.a import fn1
from foo.b import fn2
from foo.c import fn3
fn1()
fn2()
fn3()
我试图在一个别名下导入多个库文件,而不使用 init.py 文件(因为 ROS 显然不支持它)。
示例:
假设我们有以下文件:
foo/
__init__.py # This file is empty, used to categorize foo as a package.
a.py
b.py
c.py
bar/
example.py
a、b 和 c 都包含我在示例中需要的不同功能,所以我导入它们
#example.py
from foo import a, b, c
a.fn1()
b.fn2()
c.fn3()
这行得通,但是有什么方法可以将它们全部分组在一个别名下吗?像这样:
#example.py
from foo import [a, b, c] as foo
foo.fn1()
foo.fn2()
foo.fn3()
同样,我知道这可以通过在 init.py 下导入它们来完成,但是由于我们的库是为了在 ROS 下工作,我们目前无法做到这样当 运行 在 ROS.
中时不会出现导入错误提前致谢。
没有
脚本中的一个符号不能同时引用多个模块。
无论如何,对不同的模块使用不同的名称是一种更简洁的方法。 您可以尝试使用通配符 import
让您的生活更轻松一些from foo.a import *
from foo.b import *
from foo.c import *
fn1()
fn2()
fn3()
但这最终会污染您的命名空间。我不推荐它。
你也可以试试(*
不推荐):
from foo.a import fn1
from foo.b import fn2
from foo.c import fn3
fn1()
fn2()
fn3()