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写xml文件的操作实例
Oct 05 Python
Python while、for、生成器、列表推导等语句的执行效率测试
Jun 03 Python
Python文件及目录操作实例详解
Jun 04 Python
初步剖析C语言编程中的结构体
Jan 16 Python
Python编程argparse入门浅析
Feb 07 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
python调用win32接口进行截图的示例
Nov 11 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
尽可能写"友好"的"Javascript"代码
2007/01/09 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
python编程线性回归代码示例
2017/12/07 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python面向对象程序设计示例小结
2019/01/30 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
简历自我评价怎么写呢?
2014/01/06 职场文书
高中数学教学反思
2014/01/30 职场文书
工作表现自我评价
2014/02/08 职场文书
企业出纳岗位职责
2014/03/12 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书