gpt4 book ai didi

python - 采购 python 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:20:37 27 4
gpt4 key购买 nike

最近,我遇到了 Linux 命令 source 然后找到了 this answer关于它的作用。

我的理解是 source 执行传递给它的文件,它确实适用于一个简单的 shell 脚本。然后我尝试在 Python 脚本上使用 source,但它没有用。

Python 脚本有一个 shebang(例如 #!/usr/bin/python),我可以执行 ./python.py,因为脚本有可执行权限。如果可以的话,source python.py 也应该可以吧?唯一的区别是 ./ 在新的 shell 中执行,而 source 在当前的 shell 中执行。为什么它不适用于 .py 脚本?我在这里错过了什么吗?

最佳答案

您仍然没有完全理解 source 的作用。

source 确实从当前 shell 进程中的文件执行命令。它可以有效地执行此操作,就好像您将它们直接输入到当前的 shell 中一样。

这是必要的原因是因为当您运行一个 shell 脚本而不获取它时,它会产生一个子 shell — 一个新进程。当此进程退出时,当您返回到生成它的 shell 时,在该脚本中所做的任何更改都将丢失。

因此,您不能将 Python 源代码放入 shell,因为 Python 解释器始终是与您的 shell 不同的进程。运行 Python 脚本会产生一个全新的进程,当该进程退出时,其状态将丢失。

当然,如果您的 shell 实际上是 Python(我不推荐!),您仍然可以通过使用 import“源”到它。

关于python - 采购 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18577555/

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