首页 > 编程 > Python > 正文

Python实现按特定格式对文件进行读写的方法示例

2020-01-04 16:13:27
字体:
来源:转载
供稿:网友

本文实例讲述了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

写入的文件:

Python,特定格式,文件,读写

每一行的数据之间其实已经加入空格。

运行结果:

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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表