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()。

說明:

  1. 在Python 3.5之後的版本中,官方文檔中提倡通過subprocess.run()函數替代其他函數來使用subproccess模塊的功能;
  2. 在Python 3.5之前的版本中,我們可以通過subprocess.call(),subprocess.getoutput()等上面列出的其他函數來使用subprocess模塊的功能;
  3. subprocess.run()、subprocess.call()、subprocess.check_call()和subprocess.check_output()都是通過對subprocess.Popen的封裝來實現的高級函數,因此如果我們需要更復雜功能時,可以通過subprocess.Popen來完成。
  4. 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')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章