1.3 Python基本程式設計解析(中)
阿新 • • 發佈:2019-01-07
1. 檔案讀寫操作
1.1 檔案開啟與關閉
檔案處理的步驟:開啟-操作-關閉
open()
函式開啟檔案- 變數f是檔案控制代碼,內部是檔案物件
.close()
方法關閉檔案
<變數名> = open(<檔名>,<開啟模式>)
1.2 檔案的開啟模式
開啟模式舉例 | 描述 |
---|---|
‘r’ | 只讀模式,預設值,如果檔案不存在,返回FileNotFoundError |
‘w’ | 覆蓋寫模式,檔案不存在則建立,存在則完全覆蓋 |
f = open('f.txt','r')
只讀模式開啟文字檔案f = open('f.txt','w')
覆蓋寫模式開啟文字檔案
1.3 檔案的全文讀入
一次性全部讀入檔案
f = open("f.txt","r")
txt = f.read()
# 對全文txt進行處理
f.close()
按行讀入文字
f = open("f.txt","r")
for line in f:
# 每行文字儲存在line中,可逐行處理
f.close()
2. 迴圈語句
python包括兩種迴圈:
- 遍歷迴圈:由for和in組成,從遍歷結構中逐一獲得元素進行迴圈
for <迴圈變數> in <遍歷結構>:
<語句塊>
- 無限迴圈:使用while保留字,由條件控制迴圈過程。反覆執行語句塊,直到條件不滿足時結束
while <條件>:
<語句塊>
3. 異常處理
異常處理:對程式執行異常的處理機制,提高使用者體驗
try:
<語句塊1>
except:
<語句塊2>
- 使用try-except保留字
- 捕獲語句塊1中異常,採用語句塊2進行處理
例項2 感測器日誌檔案分析
程式需求
感測器日誌檔案
日期date | 時間Time | 溫度Temperature | 溼度Humidity | 光照Light | 電壓Voltage
yyyy-mm-dd hh:mm:ss.xxx real real real real
- 日誌檔案中,每一行是一條日誌資訊
- 每行日誌包括4個感測器資料:溫度、溼度、光照和電壓
計算感測器日誌檔案中溫度資料的平均值
- 日誌檔案包含1萬條資料
- 溫度資料在檔案的第3列
- 輸入:日誌檔案sensor-data.txt
- 輸出:平均溫度數值,保留小數點後兩位
# SensorReader.py
try: # 異常處理
f = open("sensor-data.txt","r")
avg, cnt = 0, 0
for line in f:
ls = line.split()
cnt += 1
avg += eval(ls[2])
print("平均的溫度值是:{:.2f}".format(avg / cnt))
f.close()
except:
print("檔案開啟錯誤")