zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    监控里的主码流和子码流是什么意思
    监控硬盘容量计算
    一个能让你了解所有函数调用顺序的Android库
    电工选线
    oracle linux dtrace
    list all of the Oracle 12c hidden undocumented parameters
    Oracle Extended Tracing
    window 驱动开发
    win7 x64 dtrace
    How to Use Dtrace Tracing Ruby Executing
  • 原文地址:https://www.cnblogs.com/scios/p/7402533.html
Copyright © 2011-2022 走看看