gpt4 book ai didi

python - 如何像 bash 中的函数一样调用 python 脚本?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:10 26 4
gpt4 key购买 nike

我有一个 build.sh 脚本,我的自动构建服务器将其作为构建的一部分执行。构建逻辑的很大一部分是计算和构建版本号。所有这些逻辑都在 python 脚本中,例如 calculate-version.py

在这种情况下,通常我会做的是将 python 脚本设置为仅打印版本号,我将从 bash 脚本中读取标准输出,并将其分配给环境变量。但是,python 脚本变得非常复杂,我想开始向它添加日志。

我需要能够从 Python 脚本(通过 print())输出(标准输出)日志,同时在完成后从 python 传播一个“返回值”脚本回到父 shell 脚本。

这样做的最佳方法是什么?我想过通过环境变量来做到这一点,但我的理解是那些对父进程不可用。

最佳答案

简短的回答:你不能。 *nix 风格的可执行文件的返回值是一个 0-255 的无符号整数。这通常表明它是否失败,但您可以选择它供您自己使用。

在这种情况下,我认为单个无符号字节是不够的。因此,您需要以其他方式输出它。你有几个选择

  1. 最简单的(在这种情况下可能是最好的)是继续在 stdout 上输出您的输出数据,并将您的日志/调试信息发送到其他地方。这可能是一个文件,或者(它的用途)stderr
  2. 将您的数据输出到文件(例如命令行参数中给出的文件)
  3. 安排某种命名管道方案。实际上,这与将其发送到文件几乎是一样的。

关于python - 如何像 bash 中的函数一样调用 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com