本文實例講述了Python實現按特定格式對文件進行讀寫的方法。分享給大家供大家參考,具體如下:
#! /usr/bin/env python#coding=utf-8class ResultFile(object): def __init__(self, res): self.res = res def WriteFile(self): fp = open('pre_result.txt', 'w') print 'write start!' try: for item in self.res: fp.write(item['host']) fp.write('/r') fp.write(str(item['cpu']))#write方法的實參需要為string類型 fp.write('/r') fp.write(str(item['mem'])) fp.write('/n') finally: fp.close() print 'write finish!' def ReadFile(self): res = [] fp = open('pre_result.txt', 'r') try: lines = fp.readlines()#讀取出全部數據,按行存儲 finally: fp.close() for line in lines: dict = {} #print line.split() #like['compute21', '2', '4'] line_list = line.split() #默認以空格為分隔符對字符串進行切片 dict['host'] = line_list[0] dict['cpu'] = int(line_list[1])#讀取出來的是字符 dict['mem'] = int(line_list[2]) res.append(dict) return resif __name__ == '__main__': result_list=[{'host':'compute21', 'cpu':2, 'mem':4},{'host':'compute21', 'cpu':2, 'mem':4}, {'host':'compute22', 'cpu':2, 'mem':4},{'host':'compute23', 'cpu':2, 'mem':4}, {'host':'compute22', 'cpu':2, 'mem':4},{'host':'compute23', 'cpu':2, 'mem':4}, {'host':'compute24', 'cpu':2, 'mem':4}] file_handle = ResultFile(result_list) #1、寫入數據 #print 'write start!' file_handle.WriteFile() #print 'write finish!' #2、讀取數據 res = file_handle.ReadFile() print res寫入的文件:

每一行的數據之間其實已經加入空格。
運行結果:
write start!write finish![{'mem': 4, 'host': 'compute21', 'cpu': 2}, {'mem': 4, 'host':'compute21', 'cpu': 2}, {'mem': 4, 'host': 'compute22', 'cpu': 2},{'mem': 4, 'host': 'compute23', 'cpu': 2}, {'mem': 4, 'host':'compute22', 'cpu': 2}, {'mem': 4, 'host': 'compute23', 'cpu': 2},{'mem': 4, 'host': 'compute24', 'cpu': 2}]實現了按原有格式寫入和讀取。
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python編碼操作技巧總結》、《Python圖片操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
|
新聞熱點
疑難解答