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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM