gpt4 book ai didi

python - 从 Linux 命令行调用脚本级 Python 函数

转载 作者:可可西里 更新时间:2023-11-01 11:48:48 27 4
gpt4 key购买 nike

如何为我的 Linux 服务器创建功能和软件?让我更详细地解释一下。

因此,对于我使用 SSH 客户端访问的 Linux 服务器,我制作了一些运行良好的 Python 脚本,但我真正想做的是让这些 Python 脚本一直处于事件状态,这样我就可以执行函数我已经在脚本中创建了(例如“def time(): ...”),只需在命令行中键入“time”,而不是使用 ./script-name.py 启动脚本,然后键入“时间”。我是否需要以某种方式将我的 Python 文件安装到系统中?

我在 Google 上搜索时遇到了困难,因为我不完全了解要搜索的内容,而且出现的结果与我的请求并不真正相关。我确实找到了 cmd Python 模块并学习了如何创建 cmd 解释器,但是,为了让我访问我在 cmd 解释器中定义的命令,我必须首先启动脚本,正如我在上面解释的那样,这不是我的意思寻找。

如何使脚本级 Python 函数可从 Linux 命令行调用?

最佳答案

如果您使用的是 Python,您仍然需要启动解释器,但您可以让它自动发生。

首先让您的脚本可执行。在 shell 中运行此命令:

chmod +x script-name.py
ls -l script-name.py

ls 的输出应如下所示(注意左侧列中的 x):

-rwxr-xr-x  1 me me     4 Jan 14 11:02 script-name.py

现在添加一个 interpreter directive脚本文件顶部的行 - 这告诉 shell 运行 Python 来解释你的脚本:

#!/usr/bin/python

然后在调用您的函数的文件末尾添加代码:

if __name__ == '__main__':
time()

if 语句检查这是否是正在执行的文件。这意味着如果需要,您仍然可以从另一个 Python 文件导入模块,而无需自动调用 time() 函数。

最后,您需要将您的脚本放在可执行路径中。

mkdir -p $HOME/bin
mv script-name.py $HOME/bin/
export PATH=$HOME/bin:$PATH

现在您应该能够运行 script-name.py,您将看到 time() 函数的输出。您可以将文件重命名为您喜欢的任何名称;您甚至可以删除 .py 扩展名。

您可以做的其他事情:

  • 使用argparse module添加命令行参数,例如所以你可以运行script-name.py time来执行time()函数
  • 将脚本放在系统范围的路径中,例如 /usr/local/bin,或者
  • export PATH=$HOME/bin:$PATH 行添加到您的 .bashrc以便在您登录时默认发生

关于python - 从 Linux 命令行调用脚本级 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34779347/

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