使用 Python 读取 Protocol Buffers 文件
Read Protocol Buffers file using Python
我的目标是解析扩展名为 filename.pb.string 的 Protocol Buffers 文件。在 Mac 上使用 Homebrew 下载了 Protobuff。 运行 protoc --version 并拥有 libprotoc 3.1.0 版本。
但是当我运行 Python 它说找不到模块。我将我的 .pb 文件名更改为 _pb2.py 并在我的 Python 脚本中导入模块。
import filename_pb2 as proto
我正在使用 Google 文档,但仍然没有任何运气。我在通过 Python 编译 Protobuf .so 文件时也遇到了问题。我只是无法同时处理 Protobuf 和 Python link。有人可以指导我吗?
Python错误
import response_123_pb2 as proto
ImportError: No module named response_123_pb2
您必须将 .proto 文件编译为 *_pb2.py 文件:
protoc --python_out=./ YourProto.proto
确保它生成一个名为 YourProto_pb2.py 的文件。然后你可以将它导入到你的代码中:
import YourProto_pb2 as proto
如果编译有其他问题,那就另当别论了。请务必查看此 documentation.
我的目标是解析扩展名为 filename.pb.string 的 Protocol Buffers 文件。在 Mac 上使用 Homebrew 下载了 Protobuff。 运行 protoc --version 并拥有 libprotoc 3.1.0 版本。
但是当我运行 Python 它说找不到模块。我将我的 .pb 文件名更改为 _pb2.py 并在我的 Python 脚本中导入模块。
import filename_pb2 as proto
我正在使用 Google 文档,但仍然没有任何运气。我在通过 Python 编译 Protobuf .so 文件时也遇到了问题。我只是无法同时处理 Protobuf 和 Python link。有人可以指导我吗?
Python错误
import response_123_pb2 as proto
ImportError: No module named response_123_pb2
您必须将 .proto 文件编译为 *_pb2.py 文件:
protoc --python_out=./ YourProto.proto
确保它生成一个名为 YourProto_pb2.py 的文件。然后你可以将它导入到你的代码中:
import YourProto_pb2 as proto
如果编译有其他问题,那就另当别论了。请务必查看此 documentation.