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...