python指令碼與shell指令碼的結合應用

2021-09-26 18:44:38 字數 1208 閱讀 5265

獲取命令執行的結果,但是沒有命令的執行狀態,這樣可以將獲取的結果儲存起來放到list中。

os.popen –廢棄

popen2.

* –廢棄

commands.

* –廢棄,3.x中被移除

例子

執行命令,返回狀態碼(命令正常執行返回0,報錯則返回1)

(2) check_call

執行命令,如果執行成功則返回狀態碼0,否則拋異常

(3) check_output

執行命令,如果執行成功則返回執行結果,否則拋異常

(4) subprocess.popen(…)

用於執行複雜的系統命令

引數 注釋

args shell命令,可以是字串或者序列型別(如:list,元組)

bufsize 指定緩衝。0 無緩衝,1 行緩衝,其他 緩衝區大小,負值 系統緩衝

stdin, stdout, stderr 分別表示程式的標準輸入、輸出、錯誤控制代碼

preexec_fn 只在unix平台下有效,用於指定乙個可執行物件(callable object),它將在子程序執行之前被呼叫

close_sfs 在windows平台下,如果close_fds被設定為true,則新建立的子程序將不會繼承父程序的輸入、輸出、錯誤管道。所以不能將close_fds設定為true同時重定向子程序的標準輸入、輸出與錯誤(stdin, stdout, stderr)。

shell 同上

cwd 用於設定子程序的當前目錄

env 用於指定子程序的環境變數。如果env = none,子程序的環境變數將從父程序中繼承。

universal_newlines 不同系統的換行符不同,true -> 同意使用 \n

startupinfo 只在windows下有效,將被傳遞給底層的createprocess()函式,用於設定子程序的一些屬性,如:主視窗的外觀,程序的優先順序等等

createionflags 同上

如何在Shell指令碼中嵌入Python指令碼

原shell指令碼test.sh bin bash function main main test.sh t1 t2 t3執行結果 username computer test.sh t1 t2 t3 t1 t2 t3嵌入單行的python,比如切割個字串啥的 bin bash function m...

Linux Makefile與shell指令碼區別

在makefile可以呼叫shell指令碼,但是makefile和shell指令碼是不同的。本文試著歸納一下makefile和shell指令碼的不同。1 shell中所有引用以 打頭的變數其後要加 而在makefile中的變數是以 打頭的後加 例項如下 makefile path data subp...

shell指令碼學習 01 指令碼基礎

一 shell概念 shell是一種作為使用者與linux系統之間的操作介面程式,允許使用者向作業系統輸入需要執行的命令的一種高階 解釋性程式語言。二 shell的種類 bourne shell sh c shell csh korn shell ksh bourne again shell bas...