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实现批量下载新浪博客的方法
Jun 15 Python
Python写的一个简单监控系统
Jun 19 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
Django对数据库进行添加与更新的例子
Jul 12 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
python 5个顶级异步框架推荐
Sep 09 Python
python使用torch随机初始化参数
Mar 22 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中的empty和isset函数
2016/05/26 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
animate.css在vue项目中的使用教程
2018/08/05 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
python实现粒子群算法
2020/10/15 Python
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
MYSQL基础面试题
2012/05/13 面试题
小学教师师德反思
2014/02/03 职场文书
新闻人物通讯稿
2014/10/09 职场文书
员工自我评价范文
2015/03/11 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
Django程序的优化技巧
2021/04/29 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python