Python 2.7 輸入輸出
阿新 • • 發佈:2018-12-16
輸入輸出
1 格式化輸出
通過將值傳入repr()或str()函式中,可以將任意值轉化為字串。 str()將值轉化為人可讀狀態,repr()將值轉為直譯器可讀狀態。 如果物件本身不適合人閱讀,str()與repr()返回值相同。
字串與浮點數的repr()與str()有區別。 repr()會將字串中的反斜槓輸出,並且輸出引號。
# 字串右對齊 "ss".rjust(4) # 字串居中 "ss".center(10) # 字串左對齊 "ss".ljust(8) # 表示數字的字串右對齊 "12".zfill(12) # 格式化輸出字串 "{1} and {0} ".format(12, 34) # 輸出"34 and 12" "{n} and {f}".format(f = 12, n = 66) # 輸出"66 and 12" # 輸出三位小數浮點數 print '{0:.3f}'.format(math.pi) # 格式化佔位輸出 print '{0:10} {1:10d}'.format("sss", 12) # 格式化輸出字典 t = {'a': 12, 'b': 34} print('{0[a]:10d} {0[b]:10d}'.format(t) ) # sprintf()風格字串 print "%5.3f." % math.pi
2 檔案讀寫
open方法mode引數可以被省略,省略時,預設只讀。
- r,只讀
- w,只寫(覆蓋)
- a,檔案尾寫
- r+,讀寫
讀檔案時,如果讀到檔案末尾,將會返回空字串。
# 開啟檔案 w = open('D:/DevelopmentSpace/python2/fibo.py', 'r') # 從檔案中讀取11個位元組的資料 w.read(11) # 讀取完整檔案 w.read() # 讀取檔案中一行資料 w.readline() # 迴圈讀取檔案資料 for line in w: print line # 列表形式讀取檔案資料(一個元素表示一行) l = list(w) l = w.readlines() # 向檔案中寫入字串 w.write("asdfasd jjkhk\n") # 返回當前檔案物件位於檔案中的位置,單位為位元組 # 關閉檔案 w.close() # 跳轉到檔案開頭位置之後2個位元組 f.seek(2, 0) # 跳轉到檔案當前位置之後2個位元組 f.seek(2, 1) # 跳轉到檔案末尾位置之前2個位元組 f.seek(-2, 2) # 設定檔案自動關閉(即使丟擲異常也會關閉) with open('test', 'r+') as f: l = f.read()
json模組將Python資料轉化為字串的過程稱之為序列化。將資料從字串形式中重建的過程稱之為反序列化。
# 匯入json模組
import json
# 序列化
json.dumps([1, 'sss'])
# 將物件序列化進檔案w
json.dump(['sss', 12], w)
# 將檔案中的json物件反序列化
x = json.load(w)