Python实现按特定格式对文件进行读写的方法示例
作者:爱橙子的OK绷 发布时间:2022-06-07 22:59:57
标签:Python,文件读写
本文实例讲述了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
写入的文件:
每一行的数据之间其实已经加入空格。
运行结果:
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程序设计有所帮助。
来源:http://blog.csdn.net/will130/article/details/50478481


猜你喜欢
- 1、你需要通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URL Scheme 等等。检 查 字 符 串 开 头 或 结 尾
- 一、状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类1.基本实现//下面以一个开灯程序演示状态模式//灯共用三
- vue通过路由传值在许多跳转的同时需要完成携带参数,并且在刷新的同时不丢失参数。$router:是路由操作对象,只写对象$route:路由信
- 目录1. 前言2. 实战一下2-1 进入虚拟环境,创建一个项目及 App2-2 创建模板目录并配置 set
- 简单方法:models.pyclass IceCreamBar(models.Model): title
- 需求问题在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式。在模板返回视图的方
- 一、条件判断 if ( ) { } elsif ( ) {&nb
- 本文包括两部分,一部分是源码解读,另一部分是对zap的增强。由于zap是一个log库,所以从两方面来深入阅读zap的源码,一个是初始化log
- 此处以修改图片文件名为例,将图片复制到新的目录中再修改名称~原始文件名如下:修改后的效果如下:代码:实现将one文件夹中的每一个图片复制到t
- 前言实际工作中,偶尔遇到如下情况,例如使用Pandas计算如下相关系数,并把结果写入Excel文件中。correlations = df.c
- 在平时,常常会提醒自己要做一个善于发现的人,时刻发现细节,这样才会更加懂得生活、会让生活更加精彩。在学习上也是如此,我们常常会发现有很多网站
- 学习使用存储过程(Stored Procedure),是ASP程序员的必须课之一。所有的大型数据库都支持存储过程,比如Oracle
- 一、XML产生的背景 XML同HTML一样,都来自Standard Generalized Markup Language, 即标准通用标记
- 大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。那么这次为大家带来,Python爬取糗事百科的小段子的例子。首
- 最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。
- 在上一篇用JS实现图片轮播效果代码(一)的基础上,增加了左右箭头的响应事件,实现了点击左右箭头也可以让图片滚动:js代码如下:window.
- 1 界面美化1.1 Chinese (Simplified) | 简体中文1.2 vscode-icons | 美化图标1.3 Bracke
- 内容摘要: 首先来讲讲 Session 的好处,它可以用来记录客户端私有的
- 前言在python中, 切片是一个经常会使用到的语法, 不管是元组, 列表还是字符串, 一般语法就是:sequence[ilow:ihigh
- 背景有一个项目,今年12月份开始重构,项目涉及到了socket。但是socket用的是以前一个开发人员封装的包(这个一直被当前的成员吐槽为什