1.概述在平时自动化测试工作中,经常会用python对一些文件进行读写操作。其中使用最多的文件格式,就是txt,  log,  json,  csv,  xml,  zip, tar, gz,  rar,  excel,这十种文件格式。

其中txt,  log,  json,  csv,  xml这五种格式,使用python标准库就可以操作。

2.txt, log文件读写.txt和.log文件的读写方式相同,下面只以.txt文件做为例子。

1)写:with open("test.txt","w") as f:

f.write("test string")

2)读:with open("test.txt","r") as f:

print(f.read())

3)注意事项:一般文件的模式

r:  以读方式打开

w :  以写方式打开,

a:  以追加模式打开 (从 EOF 开始, 必要时创建新文件)

多媒体mp3,mp4,或者包含特殊字符的模式

rb:  以二进制读模式打开

wb:   以二进制写模式打开

ab :   以二进制追加模式打开

其它:

r+,w+,a+,rb+,wb+,ab+

4)Python读取大文件(GB级别):#内存分配交给python解释器处理,读取效率很高,且占用资源少with open("test.txt","r") as f:    for line in f:

print(line)

3.json文件读写

1)写:import json

test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}#dumps 将数据转换成字符串json_str = json.dumps(test_dict,indent=4,sort_keys=True)with open('test.json',"w") as f:

f.write(json_str)

2)读:import jsonwith open('test.json',"r") as f:

json_dic = json.load(f)

print(json_dic["bigberg"])

4.csv文件读写使用csv里的writer类

1)写:import csv# 使用数字和字符串的数字都可以datas = [['name', 'age'],

['Bob', 14],

['Tom', 23],

['Jerry', '18']]with open('example.csv', 'w', newline='') as f:

writer = csv.writer(f)    for row in datas:

writer.writerow(row)

2)读:import csvwith open("example.csv",'r') as f:

reader = csv.reader(f)    for row in reader:

print(reader.line_num, row)使用csv里的Dictwriter类

1)写:import csv

headers = ['name', 'age']

datas = [{'name':'Bob', 'age':23},

{'name':'Jerry', 'age':44},

{'name':'Tom', 'age':15}

]with open('example.csv', 'w', newline='') as f:    # 表头在这里传入,作为第一行数据

writer = csv.DictWriter(f, headers)

writer.writeheader()    for row in datas:

writer.writerow(row)

2)读:import csv

filename = 'example.csv'with open(filename) as f:

reader = csv.DictReader(f)    for row in reader:        # name是表第一行的某个数据,作为key

name = row['name']

print(name)

5.xml文件读写

1)写:#coding=utf-8# 生成xml文件import xml.dom.minidomdef GenerateXml():

impl = xml.dom.minidom.getDOMImplementation()

dom = impl.createDocument(None, 'CONFIG_LIST', None)

root = dom.documentElement

employee = dom.createElement('COMP')

root.appendChild(employee)

nameE = dom.createElement('path')

nameE.setAttribute("value", "aaaaaaaaaaa")  # 增加属性

nameT = dom.createTextNode('linux')

nameE.appendChild(nameT)

employee.appendChild(nameE)

f = open('config_new.xml', 'a')

dom.writexml(f, addindent='  ', newl='\n')

f.close()

GenerateXml()

2)读:import xml.etree.cElementTree as ET

tree = ET.parse("config_new.xml")

root = tree.getroot()

COMP = root.findall('COMP')[0]#方法通过tag名字或xpath匹配第一层子元素print("Tag:", COMP.tag, "Attributes:", COMP.attrib, "Text:", COMP.text.strip(), "Tail:", COMP.tail)

path = COMP.findall("path")[0]#方法通过tag名字或xpath匹配第一层子元素print("Tag:", path.tag, "Attributes:", path.attrib, "Text:", path.text.strip(), "Tail:", path.tail)#Element类和ElementTree类都有iter()方法可以递归遍历元素/树的所有子元素for child in tree.iter(tag='path'): #tree是ElementTree对象

print("Tag:", child.tag, "Attributes:", child.attrib, "Text:", child.text.strip(

作者:Godric_wsw

链接:https://www.jianshu.com/p/211356a8f4cb

python读取log文件_python文件读写(一)-txt, log, json, csv, xml文件相关推荐

  1. python读取表格数据_Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  2. python中JSON转XML文件

    python中JSON转XML文件 # 接收前台给的json数据 jsonData = json.loads(request.POST.get("jsonData")); # 接收 ...

  3. python读取坐标文本文件_Python 实现文件读写、坐标寻址、查找替换功能

    读文件 打开文件(文件需要存在) #打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() ...

  4. python读取tiff影像_python+tifffile之tiff文件读写方式

    背景 使用python操作一批同样分辨率的图片,合并为tiff格式的文件. 由于opencv主要用于读取单帧的tiff文件,对多帧的文件支持并不好. 通过搜索发现了两个比较有用的包:TiffCaptu ...

  5. python读取docx文件_Python应用 | 读写docx文件 (值得收藏的技能)

    字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的word,其扩展名为docx.在日常工作中,可能需要对很多的docx文件进行批处理,例如教师在批阅学生提交的电 ...

  6. android读取excel文件_python里读写excel等数据文件的几种常用方式

    python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python ...

  7. python多进程读同一个文件_python 多进程读写文件

    import time from multiprocessing import Process, JoinableQueue, cpu_count import csv ####处理一条数据的方法 d ...

  8. python读取大文件目录_Python读取系统文件夹内所有文件并统计数量的方法

    大家先看一下Python os模块中的部分函数 python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os. ...

  9. python读取mat文件格式_Python读取mat文件,并保存为pickle格式的方法

    这两天在搞Theano,要把mat文件转成pickle格式载入Python. Matlab是把一维数组当做n*1的矩阵的,但Numpy里还是有vector和matrix的区别,Theano也是对二者做 ...

最新文章

  1. 深度学习——什么是张量(tensor)?
  2. 神策数据全新服务体系——打造用户行为分析领域服务最高标准
  3. Java实现二树杈_HashSet的hashCode方法和equals方法的重写,TreeSet中compareTo方法的重写,Comparator在treeSet中的应用。...
  4. 配置vim支持源码浏览(vim+ctags+cscope)
  5. 转载Linq中GroupBy方法的使用总结
  6. 《刻意练习》到底讲了些什么???
  7. 极验验证码流程-3.图片加密处理 图片移位
  8. Sql Server 语句集合
  9. create session 参数介绍
  10. 现今最强引擎对比!虚幻3 vs CE2 vs 寒霜2.0
  11. c语言编程实现今日星期几,计算任何一天是星期几的C语言源代码.
  12. MySql打开局域网及广域网端口
  13. hdu 3018 图 欧拉回路 并查集
  14. 一种改版后检查硬件PCB生产资料的方法***-----Gerber对比,检查的方法
  15. 2、视觉基础知识问答
  16. 基于STM32的USB CAN收发器开发与设计
  17. 直播推流拉流概念介绍
  18. 招投标舞弊的22种方式及案例
  19. 学习记录 动态规划实时更新
  20. [2021CCPC威海热身赛] Number Theory (打表 推公式)

热门文章

  1. PHP快速入门,一篇即可!
  2. PHP入门-面向对象
  3. php输出的例子,php 文件读取与读取文件输出内容例子
  4. Chipscope显示的信号保持层次结构
  5. 08-数据科学的基础:数据收集之市场调查_04 深度访谈
  6. jmeter断言操作——响应断言
  7. matlab绘图:如何通过已知的散点的热量、高度绘制一张平面的分布图
  8. 金仓数据库KingbaseES客户端编程开发框架-Django(2. 概述)
  9. 计算机在线教学案例,计算机基础教学案例.doc
  10. 17-表单提交验证及MD5加密