Python 去除檔案中的空行

2021-10-02 07:30:47 字數 1308 閱讀 3841

def clear_space():

with open("test","r",encoding="utf-8") as fr:

for line in fr:

line = line.strip()

if len(line) > 0:

yield line

g = clear_space()

for line in g:

with open("test.bak","a",encoding="utf-8") as fw:

fw.write(line+"\n")

python中字串string去除出換行符和空格的問題(\n,\r)

在python的編寫過程中,獲取到的字串進場存在不明原因的換行和空格,如何整合成乙個單句,成為問題。

方法:一、去除空格

「 · 」代表的為空格

strip()

"···xyz···".strip()            # returns "xyz"  

"···xyz···".lstrip()           # returns "xyz···"  

"···xyz···".rstrip()           # returns "···xyz"  

"··x·y·z··".replace(' ', '')   # returns "xyz" 12

34二、替換 replace(「space」,"")

用replace("\n", 「」),與replace("\r", 「」),後邊的內容替換掉前邊的。

實際問題:

如圖:string中內容

其中,「 · 」代表的為空格,一段話被換行成了幾段。

1.使用==.strip()==只能夠去除字串首尾的空格,不能夠去除中間的空格。如圖:

所以需要使用==.replace(』 『, 『』)==來替換空格項。string.replace(』 ', 『』)。如圖:

2.使用==.replace(』\n』, 『』)==去除換行。如圖:並不能達到效果。

原因在於:在python中存在繼承了回車符\r和換行符\n兩種標記。

\r 和 \n 都是以前的那種打字機傳承來的。

\r 代表回車,也就是列印頭歸位,回到某一行的開頭。

\n代表換行,就是走紙,下一行。

linux只用\n換行。

win下用\r\n表示換行。

python中同樣一句話:print (u』前面的內容\r只顯示後面的內容』)

所以,在去除換行是,需要同時去除兩者才行,即使用==.replace(』\n』, 『』).replace(』\r』, 『』)==

Python 去除文字檔案中的空行

讀取存在空行的檔案,刪除其中的空行,並將其儲存到新的檔案中 usr bin env python coding utf 8 time 2019 3 18 21 41 author cunyu site cunyu1943.github.io file deleteblanklines.py soft...

python練習 1 檔案去除空行和注釋

讀取檔案 cdays 4 test.txt 內容,去除空行和注釋行後,以行為單位進行排序,並將 結果輸出為 cdays 4 result.txt。1 usr local bin python3 2 coding utf 8 3 import os 4 import sys 5 6 oldfile o...

去掉檔案中的空行

方法一 利用grep grep v s test.txt 注 v表示將匹配的結果進行反轉,正規表示式匹配空行。空行可包括空格符製表符等空白字元 方法二 利用sed sed s d test.txt sed e d test.txt 注 d代表刪除該行 方法三 利用awk awk nf test.tx...