subprocess模組原始碼介紹
subprocess.completedprocess類介紹
表示的是乙個已結束程序的狀態資訊.包含屬性如下:
示例in [3]: subprocess.run(["ls","-l","/dev/null"],stdout=subprocess.pipe)
out[3]: completedprocess(args=['ls', '-l', '/dev/null'], returncode=0, stdout=b'
crw-rw-rw- 1 root root 1, 3 12\xe6\x9c\x88 15 07:51 /dev/null\n')
- call()
in [4]: subprocess.call(['ls','-l'])
in [5]: subprocess.call('ls -l',shell=true)
in [6]: subprocess.call(['ls','-l'],stdout=subprocess.devnull)
out[6]: 0
in [7]: subprocess.call(['ls','-l','/services'])
- check_call()
in [9]: subprocess.check_call(['ls','-l'])
in [10]: subprocess.check_call('ls -l',shell=true)
in [11]: subprocess.check_call('ls -l /services',shell=true)
- check_output()
in [12]: ret = subprocess.check_output(['ls','-l'])
in [13]: print(ret) 返回的是位元組序列.
in [14]: ret = subprocess.check_output(['ls','-l'],universal_newlines=true)
in [15]: print(ret) 返回的是字串.
- getoutput()與getstatusoutput()
in [16]: ret = subprocess.getoutput('ls -l')
in [17]: print(ret)
正確情況下:
in [18]: retcode,output = subprocess.getstatusoutput('ls -l')
in [19]: print(retcode)
0in [20]: print(output)
錯誤情況下:
in [21]: retcode,output = subprocess.getstatusoutput('ls -l /test')
in [22]: print(retcode)
2in [23]: print(output)
ls: cannot access '/test': no such file or directory
subprocess.popen介紹
該類用於在乙個新的程序中執行乙個子程式.由於subprocess模組底層的程序建立和管理是由popen類來處理的. 可以通過subprocess.popen類提供的靈活的api來完成.
popen類的例項可呼叫的方法
popen.poll()
檢查命令是否已經執行結束.
wait(timeout=none)
等待子程序結束,返回狀態碼.
communicate()
與程序進行互動.
send_signal(signal)
傳送指定的訊號給這個子程序
terminate()
停止該子程序.
kill()
殺死該子程序.
示例
in [25]: p = subprocess.popen('df -ht',stdout=subprocess.pipe,shell=true)
in [26]: print(p.stdout.read())
in [2]: p1 = subprocess.popen(['df','-th'],stdout=subprocess.pipe)
in [3]: p2 = subprocess.popen(['grep','dev'],stdin=p1.stdout,stdout=subprocess.pipe)
in [4]: out,err = p2.communicate()
in [5]: print(out)
openTLD 原始碼解讀
首先是run tld 在其次就是tldexample 最後到了初始化函式tldinit 第乙個比較關鍵的函式 bb scan 將影象網格化,將首先 scale 1.2.10 10 21 個規格 在每個規格上打網格 這個函式有乙個比較重要的方法 ntuples 就是重複 因為網格上的點很多點有相同的x...
thinkphp原始碼解讀
thinkphp原始碼解讀 thinkphp原始碼的根目錄下是 index.php,是系統預設的 主頁,index.php中首先檢測的是 php執行環境,如果php版本小於 5.3.0則退出執行,定義是否為除錯模式,定義應用目錄,引入入口檔案。thinkphp是整個框架的入口檔案,在thinkphp...
HashMap原始碼解讀
一 建立乙個hashmap都做了哪些工作?mapmap new hashmap hahmap無參構造方法 public hashmap 可以看到設定了載入因子 預設0.75 閾值 預設容量16 預設載入因子0.75 12 table是hashmap內部資料儲存結構entry陣列。當hashmap的s...