分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
考慮如下的案例:
同時開啟三個檔案,檔案行數一樣,要求實現每個檔案依次讀取一行,然後輸出,我們先來看比較容易想到的寫法:
with
open(filename1, 'rb') as fp1: with
open(filename2, 'rb') as fp2: with
open(filename3, 'rb') as fp3: for i in fp1: j = fp2.readline() k = fp3.readline() print(i, j, k)
注意這裡只能對單個檔案進行for迴圈讀取,不能寫成:
for
i, j, k in fp1, fp2, fp3: print(i, j, k)
但可使用強大的zip操作:
for
i, j, k in zip(fp1, fp2, fp3): print(i, j, k)
這樣層層的巢狀未免囉嗦,with結構支援一種更簡潔的寫法:
with
open(filename1, 'rb') as fp1, open(filename2, 'rb') as fp2, open(filename3, 'rb') as fp3: for i in fp1: j = fp2.readline() k = fp3.readline() print(i, j, k)
或者使用更為優雅的寫法,此時需要contextlib語法糖:
from contextlib improt exitstackwith exitstack() as stack: files = [stack.enter_context(open(fname)) for fname in [filename1, filename2, filename3]] for i, j, k in zip(files[0], files[1], files[2]): print(i, j, k)
給我老師的人工智慧教程打call!
Python包subprocess測試結果
在python3 中官方建議使用subprocess代替舊的os 和 command 包。之前一直在用subprocess.popen 來執行shell命令,但這個命令很複雜。這次在複習的過程中,看到說subprocess 中的call check call getstatusoutput等方法是對...
python專案開發心 python專案結構
標準的python專案結構 專案結構要注意下面的點 note a.不要過深,也不要過平。b.關於單元測試應該注意下面亮點 1.單元測試要包含在軟體的子一級目錄中,不要將單元測試放在包目錄外面。2.避免被setuptools 或者其他打包的庫 作為tests頂層模組自動安裝。3.可以被安裝,而且其他包...
python語句結構 python學習之結構語句
一 迴圈語句 1.1 for x in rang n rang n 生成左閉右開區間的序列 1.2 while x 條件n 二條件語句 if 條件表示式 elif 表示式 elif 表示式 else 三 break continu 四 函式 4.1 定義 def func 引數列表 if not i...