Python 有没有办法在一个别名下导入多个模块?

Python 有没有办法在一个别名下导入多个模块?,python,ros,Python,Ros,我试图在一个别名下导入多个库文件,而不使用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

我试图在一个别名下导入多个库文件,而不使用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下工作的,因此我们目前无法这样做,而在it ROS中运行时不会出现导入错误

提前谢谢。

脚本中的一个符号不能同时引用多个模块

不管怎样,为不同的模块使用不同的名称是一种更干净的方法。 您可以尝试通过使用通配符导入使您的生活更轻松

from foo.a import *
from foo.b import *
from foo.c import *

fn1()
fn2()
fn3()
但这最终会污染您的名称空间。我不推荐

您也可以尝试一下(
*
不推荐):


不,我更喜欢使用a.fn1()等。。方法反正是Thx。如果您知道一种使ROS与init级别导入一起工作的方法,那将是非常棒的XD。在
\uuuu init\uuuuuuuuuuuuupy
中,您可以尝试使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
from foo.a import fn1
from foo.b import fn2
from foo.c import fn3

fn1()
fn2()
fn3()