python处理文本文件

本文章转载于搜狗测试

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

举个栗子:

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

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

...

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

学会创建文本文件。

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

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

创建文本文件

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

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]\n']

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]\n']

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

29

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,552评论 25 708
  • 你就是我,小时候 没有太多的忧愁 坐在,大门口 看着,小溪流 等着新芽绿后,去挖马兰头 你就是我小时候 第一次背上...
    螽斯阅读 300评论 1 1
  • 究竟爱一个人,可以到什么程度? 究竟什么样的邂逅,可以舍命不悔? 逻辑的尽头不是理性和秩序的理想国,而是我用生命奉...
    吾乃不夜侯阅读 356评论 0 1