Python 有没有办法在一个别名下导入多个模块?
我试图在一个别名下导入多个库文件,而不使用init.py文件(因为ROS显然不支持它) 例如: 假设我们有以下文件: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
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()