本文實例講述了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程序設計有所幫助。
| 
 
 | 
新聞熱點
疑難解答