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


Posted in Python onNovember 30, 2017

本文实例讲述了Python实现按特定格式对文件进行读写的方法。分享给大家供大家参考,具体如下:

#! /usr/bin/env python
#coding=utf-8
class 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 res
if __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 相关文章推荐
python批量提交沙箱问题实例
Oct 08 Python
Python中__name__的使用实例
Apr 14 Python
Python对列表排序的方法实例分析
May 16 Python
Python实现求最大公约数及判断素数的方法
May 26 Python
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
详细分析python3的reduce函数
Dec 05 Python
Pandas之drop_duplicates:去除重复项方法
Apr 18 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
我们为什么要减少Python中循环的使用
Jul 10 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 Python
python 发送get请求接口详解
Nov 17 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 #Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 #Python
Python编程使用tkinter模块实现计算器软件完整代码示例
Nov 29 #Python
Python科学画图代码分享
Nov 29 #Python
Python中Scrapy爬虫图片处理详解
Nov 29 #Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 #Python
Python实现的计数排序算法示例
Nov 29 #Python
You might like
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
新手简单了解vue
2019/05/29 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Zabbix实现微信报警功能
2016/10/09 Python
浅谈django中的认证与登录
2016/10/31 Python
python实现发送邮件功能
2017/07/22 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
Python实现中值滤波去噪方式
2019/12/18 Python
Pandas 解决dataframe的一列进行向下顺移问题
2019/12/27 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
python 绘制场景热力图的示例
2020/09/23 Python
光声世纪笔试题目
2012/08/25 面试题
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
语文教研活动总结
2014/07/02 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
护理医院见习报告
2014/11/03 职场文书
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL