python中使用shell命令及常用函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中使用shell命令及常用函数相关的知识,希望对你有一定的参考价值。
操作:导入模块 subprocess
import subprocess
zhi = subprocess.getoutput(‘ls‘)
1. subprocess模块中的常用函数
函数 | 描述 |
---|---|
subprocess.run() | Python 3.5中新增的函数。执行指定的命令,等待命令执行完成后返回一个包含执行结果的CompletedProcess类的实例。 |
subprocess.call() | 执行指定的命令,返回命令执行状态,其功能类似于os.system(cmd)。 |
subprocess.check_call() | Python 2.5中新增的函数。 执行指定的命令,如果执行成功则返回状态码,否则抛出异常。其功能等价于subprocess.run(..., check=True)。 |
subprocess.check_output() | Python 2.7中新增的的函数。执行指定的命令,如果执行状态码为0则返回命令执行结果,否则抛出异常。 |
subprocess.getoutput(cmd) | 接收字符串格式的命令,执行命令并返回执行结果,其功能类似于os.popen(cmd).read()和commands.getoutput(cmd)。 |
subprocess.getstatusoutput(cmd) | 执行cmd命令,返回一个元组(命令执行状态, 命令执行结果输出),其功能类似于commands.getstatusoutput()。 |
说明:
- 在Python 3.5之后的版本中,官方文档中提倡通过subprocess.run()函数替代其他函数来使用subproccess模块的功能;
- 在Python 3.5之前的版本中,我们可以通过subprocess.call(),subprocess.getoutput()等上面列出的其他函数来使用subprocess模块的功能;
- subprocess.run()、subprocess.call()、subprocess.check_call()和subprocess.check_output()都是通过对subprocess.Popen的封装来实现的高级函数,因此如果我们需要更复杂功能时,可以通过subprocess.Popen来完成。
- subprocess.getoutput()和subprocess.getstatusoutput()函数是来自Python 2.x的commands模块的两个遗留函数。它们隐式的调用系统shell,并且不保证其他函数所具有的安全性和异常处理的一致性。另外,它们从Python 3.3.4开始才支持Windows平台。
python中常用函数及用法:
input() print() max() min() float()字符串
list() 列表 tuple()元组 str()字符串 int()整数 set()集合 {‘a‘:1}字典(键:值)键必须唯一
上!六种数据类型:列表、字典、集合为可变数据类型,元组字符串整不可变。
range() 用法:
for i in range(1,10)/(1,10,2) 后面,2表示步长
import os,join 导入一个模块,或者导入另一个.py文件
排序 sort();sorted()用法:
使用sort()方法对list排序会修改list本身,不会返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原来的list,此方法将更有效sort()。
sorted()的reverse参数接受False 或者True 表示是否逆序
sa = [3,5,1,8,2]
sa.sort()
print(sa)
输出都是:[1, 2, 3, 5, 8]
sorted()用法:
my_list = [3, 5, 1, 8, 2]
result = sorted(my_list)
print result
倒序用法:
sa = [3,5,1,8,2,]
aaa = sorted(sa,reverse=True) 输出:[8,5,3,2,1]
print(aaa)
分割:split()
.split()里面指定分割符如:(‘-‘) 常用用法:
sa = ‘a-b--c‘
print(sa)
sss = list(sa.split(‘-‘))
print(sss)
分割前后结果:
a-b--c
[‘a‘, ‘b‘, ‘‘, ‘c‘]
返回值 return xx 通常用在函数里面
自己随意设置,可返回一个变量值,也可以返回另一个函数的名
如:
def cpu():
val4 = os.popen("w |awk ‘NR==1{print $8,$9,$10}‘")
sui = val4.read()
print(‘cpu负载:1分钟、5分钟、15分钟分别为:‘,sui)
return sui
f.open(‘/root/test.html‘)
以上是关于python中使用shell命令及常用函数的主要内容,如果未能解决你的问题,请参考以下文章