ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2019-08-29 12:50:22  阅读:148  来源: 互联网

标签:python linux shell


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

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

我努力搜索谷歌,因为我没有完全理解要搜索的内容,并且出现的结果与我的请求无关.我确实找到了cmd Python模块并学习了如何创建cmd解释器,但是,为了让我能够访问我在cmd解释器中定义的命令,我必须首先启动脚本,正如我上面解释的那样,不是我的意思.寻找.

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

解决方法:

如果你正在使用Python,你仍然需要启动解释器,但你可以自动完成.

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

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

ls的输出应该如下所示(注意左栏中的xs):

-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()函数
>将脚本放在系统范围的路径中,例如/usr/local/bin或
>将导出PATH = $HOME / bin:$PATH行添加到.bashrc,以便在您登录时默认发生

标签:python,linux,shell
来源: https://codeday.me/bug/20190829/1760862.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有