【问题标题】:How to get the exit code for "os.popen(command)"?当我们在 shell 中执行时获取“os.popen(command)”的退出代码的命令
【发布时间】:2022-01-13 07:36:10
【问题描述】:

我正在使用 shell 脚本来运行命令。 使用这个(os.popen(command).readline())运行命令后,我想获得相同的退出代码。

请告诉我在这种情况下我们如何获得退出代码

【问题讨论】:

  • 使用subprocess 模块而不是os.popen()
  • 但我只想使用 oc.popen() 模块
  • @ShanthiK : os.popen(command) 不是有效的 bash 代码。你问 Python 吗?如果是这样,请用 python 标记您的问题。
  • 为什么你想使用一个不能做你想做的事的过时的功能,而不是一个现代的功能?

标签: linux bash shell script


【解决方案1】:

当您对os.popen() 返回的文件对象调用close() 时,如果不是0,则返回终止状态。您使用os.waitstatus_to_exitcode() 从中提取退出代码。

f = os.popen(command)
line = f.readline()
status = f.close()
if status:
    print(os.waitstatus_to_exitcode(status))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 2018-11-04
    • 2011-09-22
    • 2018-03-29
    • 1970-01-01
    • 2022-12-07
    • 2015-03-30
    相关资源
    最近更新 更多