我即將編寫一個python腳本,它可以讀取txt文件,但是使用readline()總是會有\ n輸出。我怎樣才能從變量中刪除這個?a = open(「file」,「r」); a.readline()輸出沒有 n
a = open("file", "r")
b = a.readline()
a.close()
我即將編寫一個python腳本,它可以讀取txt文件,但是使用readline()總是會有\ n輸出。我怎樣才能從變量中刪除這個?a = open(「file」,「r」); a.readline()輸出沒有 n
a = open("file", "r")
b = a.readline()
a.close()
這將是
b.rstrip('\n')
如果你想刪除的每一行線,你可能會考慮
a.read().splitlines()
這將給你一個行的列表,沒有行結束字符。
一種解決方案,可以爲:
with open("file", "r") as fd:
lines = fd.read().splitlines()
你得到的行列表中沒有 「\ r \ n」 或 「\ n」。
或者,使用經典的方式:
with open("file", "r") as fd:
for line in fd:
line = line.strip()
您讀取文件,一行一行地用空格和換行刪除。
如果你只是要刪除的換行符:
with open("file", "r") as fd:
for line in fd:
line = line.replace("\r", "").replace("\n", "")
的Et就萬事大吉了。
注意: Python 3的行爲有點不同。要模仿此行爲,請使用io.open
。
請參閱io.open的文檔。
所以,你可以使用:
with io.open("file", "r", newline=None) as fd:
for line in fd:
line = line.replace("\n", "")
當換行符參數爲None
:輸入線可以在 '\ n' 結束 '\ r',或 '\ r \ n' ,並將它們翻譯成'\ n'。
換行控制通用換行符的工作方式(僅適用於文本模式)。它可以是None,'','\ n','\ r'和'\ r \ n'。它的工作原理如下:
在輸入上,如果換行符是None,則啓用通用換行符模式。輸入中的行可以以'\ n','\ r'或'\ r \ n'結尾,在返回給調用者之前,這些行會被轉換爲'\ n'。如果是'',則啓用通用換行符模式,但行結束符會返回給未經翻譯的調用者。如果它具有任何其他合法值,則輸入行僅由給定字符串終止,並且行尾以未翻譯形式返回給調用者。
刪除字符串的最後一個元素... – Psytho