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 相关文章推荐
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
python的scipy实现插值的示例代码
Nov 12 Python
详解python itertools功能
Feb 07 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
May 12 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
Python如何读写字节数据
Aug 05 Python
容易被忽略的Python内置类型
Sep 03 Python
使用numpy nonzero 找出非0元素
May 14 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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
如何对PHP程序中的常见漏洞进行攻击
2006/10/09 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
php之curl设置超时实例
2014/11/03 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
php邮件发送的两种方式
2020/04/28 PHP
js右键菜单效果代码
2007/07/21 Javascript
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
js绘制购物车抛物线动画
2020/11/18 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
基于python 取余问题(%)详解
2020/06/03 Python
python3中编码获取网页的实例方法
2020/11/16 Python
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
贷款担保申请书
2014/05/20 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
大学生作弊检讨书
2014/09/11 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
开学典礼校长致辞
2015/07/29 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL