python - 将 .profo 文件的文件夹编译为多种语言

标签 python swift terminal automation protocol-buffers

假设我有一个包含一些 .proto 文件的文件夹:

Message.proto
Conversation.proto

对于每个 .proto file for python ,我需要这样做:

protoc --python_out=. XXXXXXX.proto

对于每个 .proto file for swift ,我需要这样做:

protoc --swift_out=. XXXXXXX.proto

是否有任何简单的方法可以将文件夹中的每个 .proto 文件自动编译为多种语言?我有很多用于两种语言的 .proto 文件,现在我需要将每个文件编译两次(对于 python 和 swift(但是如果我添加更多语言,你能想象痛苦吗?)) .

我想知道将 .proto 文件编译成多种语言的最快方法是什么。理想情况下,我想要一个包含 .proto 文件的 .swift/.py 文件的生成文件夹。

最佳答案

如果您在 shell 中运行 protoc,那么您可以使用通配符 *.proto ,如下所示:

protoc C:\your_absolute _path\*.proto --python_out=C:\python_source\

查看此 link

如果您需要支持多种语言,那么您需要创建脚本(或自定义命令),其中包含匹配构建系统中所有 *.proto 文件的 glob 模式,然后运行命令在一个循环中。

就像cmake构建系统中的add_custom_command

关于python - 将 .profo 文件的文件夹编译为多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53016507/

相关文章:

Swift 从函数中获取值

ios - 通过 iOS amazon sdk 在 s3 上上传图片缓慢

xcode - 从终端窗口运行 Xcode 工具

linux - 列出特定文件格式搜索后的文件数

arrays - bash 中数组的动态变量名

python - 在 Linux 中用 Python 读取 EXE、MSI 和 ZIP 文件元数据

python - 如何灵活改变PYTHONPATH

python - 在Django中获取页面动态标题的好方法是什么?

python - 如何使用 pyplot.barh() 在每个条上显示条的值

ios - 选择要加载到 TableView Swift 中的数据