溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中使用shell命令及常用函數(shù)

發(fā)布時(shí)間:2020-07-19 20:24:22 來(lái)源:網(wǎng)絡(luò) 閱讀:327 作者:大樹兜 欄目:系統(tǒng)運(yùn)維

操作:

導(dǎo)入模塊 subprocess 
import subprocess
zhi = subprocess.getoutput('ls')

1. subprocess模塊中的常用函數(shù)

函數(shù) 描述
subprocess.run() Python 3.5中新增的函數(shù)。執(zhí)行指定的命令,等待命令執(zhí)行完成后返回一個(gè)包含執(zhí)行結(jié)果的CompletedProcess類的實(shí)例。
subprocess.call() 執(zhí)行指定的命令,返回命令執(zhí)行狀態(tài),其功能類似于os.system(cmd)。
subprocess.check_call() Python 2.5中新增的函數(shù)。 執(zhí)行指定的命令,如果執(zhí)行成功則返回狀態(tài)碼,否則拋出異常。其功能等價(jià)于subprocess.run(..., check=True)。
subprocess.check_output() Python 2.7中新增的的函數(shù)。執(zhí)行指定的命令,如果執(zhí)行狀態(tài)碼為0則返回命令執(zhí)行結(jié)果,否則拋出異常。
subprocess.getoutput(cmd) 接收字符串格式的命令,執(zhí)行命令并返回執(zhí)行結(jié)果,其功能類似于os.popen(cmd).read()和commands.getoutput(cmd)。
subprocess.getstatusoutput(cmd) 執(zhí)行cmd命令,返回一個(gè)元組(命令執(zhí)行狀態(tài), 命令執(zhí)行結(jié)果輸出),其功能類似于commands.getstatusoutput()。

說(shuō)明:

  1. 在Python 3.5之后的版本中,官方文檔中提倡通過(guò)subprocess.run()函數(shù)替代其他函數(shù)來(lái)使用subproccess模塊的功能;
  2. 在Python 3.5之前的版本中,我們可以通過(guò)subprocess.call(),subprocess.getoutput()等上面列出的其他函數(shù)來(lái)使用subprocess模塊的功能;
  3. subprocess.run()、subprocess.call()、subprocess.check_call()和subprocess.check_output()都是通過(guò)對(duì)subprocess.Popen的封裝來(lái)實(shí)現(xiàn)的高級(jí)函數(shù),因此如果我們需要更復(fù)雜功能時(shí),可以通過(guò)subprocess.Popen來(lái)完成。
  4. subprocess.getoutput()和subprocess.getstatusoutput()函數(shù)是來(lái)自Python 2.x的commands模塊的兩個(gè)遺留函數(shù)。它們隱式的調(diào)用系統(tǒng)shell,并且不保證其他函數(shù)所具有的安全性和異常處理的一致性。另外,它們從Python 3.3.4開(kāi)始才支持Windows平臺(tái)。

python中常用函數(shù)及用法:

input() print() max() min() float()字符串

list() 列表  tuple()元組  str()字符串 int()整數(shù)  set()集合 {'a':1}字典(鍵:值)鍵必須唯一
上!六種數(shù)據(jù)類型:列表、字典、集合為可變數(shù)據(jù)類型,元組字符串整不可變。

range()  用法:
for i in range(1,10)/(1,10,2) 后面,2表示步長(zhǎng) 

import os,join       導(dǎo)入一個(gè)模塊,或者導(dǎo)入另一個(gè).py文件

排序 sort();sorted()用法:

使用sort()方法對(duì)list排序會(huì)修改list本身,不會(huì)返回新list,通常此方法不如sorted()方便,但是如果你不需要保留原來(lái)的list,此方法將更有效sort()。

sorted()的reverse參數(shù)接受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)                            

分割前后結(jié)果:
a-b--c
['a', 'b', '', 'c']

返回值 return xx 通常用在函數(shù)里面

自己隨意設(shè)置,可返回一個(gè)變量值,也可以返回另一個(gè)函數(shù)的名
如:
def cpu():
        val4 = os.popen("w |awk 'NR==1{print $8,$9,$10}'")
        sui = val4.read()
        print('cpu負(fù)載:1分鐘、5分鐘、15分鐘分別為:',sui)
        return sui

f.open('/root/test.html')

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI