python 脚本怎么执行linux命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 脚本怎么执行linux命令相关的知识,希望对你有一定的参考价值。
有两种方式:1、直接使用python
xxxx.py执行。其中python可以写成python的绝对路径。使用which
python进行查询。
2、在文件的头部(第一行)写上#!/usr/bin/python2.7,这个地方使用python的绝对路径,就是上面用which
python查询来的结果。然后在外面就可以使用./xxx.py执行了。
因为在linux中,python啊shell这些程序都是普通的文本格式,都需要一种程序去解释执行它。要么调用的时候指定,要么在文件头指定。 参考技术A [root@qiansw
tmp]#
cat
test.py
#这是一个python示例程序
#!/usr/bin/python
for
i
in
range(0,5):
i
[root@qiansw
tmp]#
ll
total
48
-rw-r--r--
1
root
root
48
Oct
30
11:04
test.py
[root@qiansw
tmp]#
chmod
+x
test.py
#为脚本增加执行权限
[root@qiansw
tmp]#
./test.py
#这是第一种方法
[root@qiansw
tmp]#
python
test.py
#这是第二种方法,不用增加执行权限
Python语言命令行参数解析接收参数执行脚本的三种方法
参考技术A在Windows系统上,Python脚本文件当然双击就能直接运行。不过我们往往需要在执行脚本的时候还要添加相应的参数,另外在Ubuntu系统中,我们执行文件往往和其他系统或用户命令一样,需要在终端中输入,参数当然也要一并加上。所以机智客这里说的意思是,执行Python脚本(.py文件)时候需要输入相应参数,这样程序怎么写的方法。
上面这么说可能有点不明不白的,或者有朋友会用但未必知道命令行解析这种表达方式。举个例子,比如我们在执行一个脚本文件的时候,可能会在CMD或者终端中输入python demo.py 10或者python demo.py --separator 10后面这个数字就是参数。我们要编写这样的脚本或者函数,有哪些方法呢?这里列举三种常用的。
一个是用系统模块sys。引入模块语句是import sys。也就是Python语言的内置库中的sys.argv。argv通常有argv[0],argv[1],argv[2]这样几个参数。基本使用方法是m_sil_len = int(sys.argv[1])传入第一个参数,sil_th = int(sys.argv[2])传入第二个参数。如果是简单一点的参数或者脚本,我们引入了sys。可以直接用这个传入参数。
一种是用模块argparse来实现,这是标准库中推荐的命令行解析模块。引入模块语句是import argparse。基本使用方法是引入模块后,先parser = argparse.ArgumentParser()创建对象,然后调用方法添加参数parser.add_argument("jzk", help="这是关于参数的说明", type=int),之后args = parser.parse_args()使用解析就可以用了。机智客看到这个方法在很多项目脚本中使用。我们在阅读机器学习AI之类的开源项目,就会发现很多人用的都是这个方法。
还有一个就是用fire模块,用于生成命令行界面的工具。引入模块语言是import fire。它默认以-为参数分隔符的。基本使用方法是fire.Fire()。这个不仅可以做命令行的参数解析,还可以还给一个类class添加命令行。所以使用时候括号里填入函数名或者类名即可,也就是里面的参数可以是其他Python对象。
以上是关于python 脚本怎么执行linux命令的主要内容,如果未能解决你的问题,请参考以下文章