在shell脚本中执行python代码

2024-04-20 12:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我做了大量的谷歌搜索,但没有任何明确的答案。这个代码就是我发现的。。。但它依赖于要运行的外部python脚本。我想把它都放在一个文件里。你知道吗

python python_script.py

Tags: 文件答案代码py脚本scriptshell办法
2条回答

您可以使用所谓的“here document”:

#!/usr/bin/env bash

echo "hello from bash"

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

第一个EOF周围的单引号阻止了shell脚本中通常的扩展和命令子状态。你知道吗

如果你想让它们发生,只需将它们移除即可。你知道吗

如果您的意思是一个bashshell脚本中没有执行任何外部依赖,恐怕您运气不好,因为BASH只解释自己的脚本语言。你知道吗

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

也可以选择将python脚本内联,但仍然需要python可执行文件。你知道吗

这样做有效:

python -c 'print("Hi")'

或者使用BASH重定向:

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

相关问题 更多 >