Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入路径中包含关键字的包_Python_Python 3.x - Fatal编程技术网

Python 导入路径中包含关键字的包

Python 导入路径中包含关键字的包,python,python-3.x,Python,Python 3.x,我正在尝试导入一个包,其中一个名称空间是关键字“import”。怎样做才是最好的?是否需要重命名该文件夹 例如: import protobuf.import.import_enum_pb2 as importEnum errorseverity = importlib.import_module(' protobuf.import.import_enum_pb2') 这会产生无效的语法错误 我已经开始考虑改用\uuuuu\import\uuuu函数,但我想知道是否有更好的解决方法,我还没有

我正在尝试导入一个包,其中一个名称空间是关键字“import”。怎样做才是最好的?是否需要重命名该文件夹

例如:

import protobuf.import.import_enum_pb2 as importEnum
errorseverity = importlib.import_module(' protobuf.import.import_enum_pb2')
这会产生无效的语法错误

我已经开始考虑改用
\uuuuu\import\uuuu
函数,但我想知道是否有更好的解决方法,我还没有找到一个有效的引用或转义方法

foo_bar = __import__("foo bar")

另请参见。

我们发现可以使用
importlib

例如:

import protobuf.import.import_enum_pb2 as importEnum
errorseverity = importlib.import_module(' protobuf.import.import_enum_pb2')
importlib
参见文档:

谢谢,问题是它只会使用第一个名称空间,因此当从示例中嵌套它时,它只会返回“protobuf”啊,我认为您正在尝试进行“相对”导入。我以前没有这方面的经验,但我发现:如果我正确地解释了这一点,你应该做如下操作:
import protobuf
import“import.protobuf.import_enum_pb2”
\a.proto package foo;导入“b.proto”;导入“sub/c.proto”;导入“sub/sub/d.proto”;你试过这方面的文档了吗?也许这对你比我更有意义?你给那个包裹起名了吗,还是它超出了你的控制范围?因为那是绝对可怕的,不应该这样做。一如既往。