python - 从python在windows上找到bash可执行文件的位置

标签 python windows bash shell subprocess

我正在编写一个执行短 shell 单行程序(可能包括管道和后台任务等)的程序,我想让它尽可能地“正常工作”跨平台。
对于 mac/linux,以下似乎运行良好:

shell = os.environ.get("SHELL", "/bin/bash")
subprocess.Popen([shell, "-c", script_content])
但是鉴于在 Windows 上:
  • SHELL通常不设置
  • 假设安装了 bash,可以在各种不同的地方找到可用的 bash 可执行文件

  • 在 Windows 中使这项工作尽可能可靠的最佳方法是什么?

    最佳答案

    您在找 C:\Windows\System32\cmd.exe ?
    如果你正在做跨平台,你可以使用 sys.platorm找到用户正在使用的平台。

    关于python - 从python在windows上找到bash可执行文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63103378/

    相关文章:

    bash - 如何调试返回值的 Bash 函数,以及如何向变量添加换行符?

    linux - Bash - 在多个目录中添加符号链接(symbolic link)

    python - 在我的 Qt C++ 应用程序中使用 Anaconda 的 Python

    python - 在 python 中添加字符串(作为 base 12 数字的表示)和整数/其他字符串

    windows - 在批处理文件中隐藏逻辑结构,但显示实际执行的命令

    java - 使用 Java 以管理员身份运行 exe

    python - 为什么 python 中的 Singleton 多次调用 __init__ 以及如何避免它?

    python - 如何将 Pandas 系列分成两列

    c++ - 如何将 OpenCV 窗口设置为点击窗口?

    macos - 使用 echo 修改 Hosts 文件