【问题标题】:Execute python code from within a shell script从 shell 脚本中执行 python 代码
【发布时间】:2019-12-29 16:30:32
【问题描述】:

我想在 shell 脚本中运行一些 python 代码。我不想依赖外部文件来运行。有什么办法吗?

我做了 的谷歌搜索,但没有任何明确的答案。这段代码是我找到的......但它依赖于要运行的外部 python 脚本。我希望所有内容都在一个文件中。

python python_script.py

【问题讨论】:

标签: python python-3.x shell


【解决方案1】:

你可以使用所谓的“这里文档”:

#!/usr/bin/env bash

echo "hello from bash"

python3 - <<'EOF'
print("hello from Python 3")
EOF

第一个 EOF 周围的单引号可防止 shell 脚本中通常的扩展和命令替换。

如果您希望发生这些情况,只需删除它们即可。

【讨论】:

    【解决方案2】:

    如果你的意思是一个 BASH shell 脚本而不执行任何外部依赖,恐怕你不走运,因为 BASH 只解释它自己的脚本语言。

    您的问题有点像问“我可以在没有 JVM 的情况下运行 Java .class 文件”吗?显然,您将始终拥有 JRE/JVM 的外部依赖项。这也是同样的情况,你依赖于外部的 Python 编译器和解释器。

    您可以选择内联包含 python 脚本,但它仍然需要 python 可执行文件。

    这行得通:

    python -c 'print("Hi")'
    

    或者使用 BASH 重定向:

    python <<< 'print("Hi")'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-12
      • 2011-05-21
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      相关资源
      最近更新 更多