python处理文本文件

在测试任务过程中都或多或少遇到自己处理文本文件的情况。

举个栗子:

  1. 客户端测试从异常日志中收集有用信息。

  2. 后端测试需要创建各种规则的压力的词表。

  3. ...

这里给大家分享一个使用python脚本处理文本的一些小技巧,分三步

  1. 学会创建文本文件。

  2. 学会读取已有的文本文件。

  3. 学会处理读取文件后的内容

创建文本文件

脚本创建文件和人工创建步骤一样,打开新文件,写入内容,保存并关闭文件

Case1:创建一个文件名为num.txt,内容是1~100数字分别每行一个

Code1:

#coding:utf-8

知识要点:

1.首行coding声明字符编码

根据涉及到的字符可以是gbk、utf8、cp936等等

2.open函数

包含两个参数,第一个参数为文件名。

第二个参数为模式,模式中常用的有只读“r”、写“w”、追加“a”。

r:只读模式常用于使用文本中内容,但不需要编辑内容时使用。

w:写模式常用于新增或编辑内容时使用。

a:追加模式跟写模式类似,不同点在于对同一文件追加模式会在文件内容尾部,续写,而写模式会清空内容重新写。

3.write和close函数

write传入的字符串内容即可。

close打开文件后一定要记得关闭保存。

读取已有的文本文件

Case2:读取文件(如图)内容,并打印。

Code2:

输出:

知识要点:

1.readline函数

每次读取一行,返回字符串。

2.read函数

读取整个文件,返回字符串。

3.readlines函数

读取整个文件,返回数组(数组的每个元素为每一行内容)。

处理读取文件后的内容

Case3:读取文件(如图)中内容cost的值。

 

Code3:

输出:

知识要点:

Split()函数

Step1:用字符串“cost=”切片原内容后的数组。

['[Sogou-Observer,', '29,ret=1,reqtype=dzz_activityperson,LocalQuery=0,PipeLine_Enter_LocalQueryTaskDZZ=1,Cost_Local=8,Reply=22,PipeLine_Enter_ReplyTask=29,parity=dzz_activityperson0000013CD91D0B011830401141DB4,id=web,Owner=OP] ']

Step2:用step1第二个元素(cost=之后的内容),使用“,”切片获取数组

['29', 'ret=1','reqtype=dzz_activityperson', 'LocalQuery=0','PipeLine_Enter_LocalQueryTaskDZZ=1', 'Cost_Local=8', 'Reply=22','PipeLine_Enter_ReplyTask=29', 'parity=dzz_activityperson0000013CD91D0B011830401141DB4', 'id=web', 'Owner=OP] ']

Step3:用step2第一个元素,即cost值作为结果。

29

原文地址:https://www.cnblogs.com/scios/p/7402533.html