溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python: line=f.readlines()消除line中\(zhòng)n的方法

發(fā)布時(shí)間:2020-10-16 04:01:10 來(lái)源:腳本之家 閱讀:168 作者:北冥有魚(yú) 欄目:開(kāi)發(fā)技術(shù)

測(cè)試代碼

#!/ust/bin/env python3

f = open("name.txt")
date = f.readlines()
print(date)
f.close()

#結(jié)果:

#['eray\n', 'eray\n', 'bike\n']

#打印出來(lái)的帶 \n ,怎么去掉\n呢?

#解決方法:
#1、

f = open("name.txt")
date = f.read().splitlines()
print(date)
f.close()

#結(jié)果:
#['eray', 'eray', 'bike']

#2、

f = open("name.txt")
date = f.readlines()
#date = date.strip('\n')
date = ''.join(date).strip('\n')
print(date)
f.close()

#結(jié)果:

eray
eray
bike

第2中,注釋掉的這行
#date = date.strip('\n')     #如果去掉注釋,會(huì)報(bào)如下錯(cuò)誤:

python: line=f.readlines()消除line中\(zhòng)n的方法

原因:

提示信息中提到list中沒(méi)有strip的這種屬性。而我們知道,strip是字符串的屬性,說(shuō)明f.readlines返回的是一個(gè)列表。所以會(huì)導(dǎo)致出錯(cuò)。

既然f.readlines()返回的是列表,而strip是字符串的屬性,不難想到只要我們將f.readlines()返回的列表轉(zhuǎn)換成字符串就能 用strip這個(gè)屬性了。那么怎么將列表轉(zhuǎn)為字符串呢?這里用的是字符串的join屬性。

line = ''.join(line) #這樣就將列表轉(zhuǎn)換成字符串了。

第1種,直接使用字符串方法: splitlines

在如:

python: line=f.readlines()消除line中\(zhòng)n的方法

strip函數(shù)用法:

函數(shù)原型

聲明:s為字符串,rm為要?jiǎng)h除的字符序列

s.strip(rm) 刪除s字符串中開(kāi)頭、結(jié)尾處,位于 rm刪除序列的字符

s.lstrip(rm) 刪除s字符串中開(kāi)頭處,位于 rm刪除序列的字符

s.rstrip(rm) 刪除s字符串中結(jié)尾處,位于 rm刪除序列的字符

注意:

1. 當(dāng)rm為空時(shí),默認(rèn)刪除空白符(包括'\n', '\r', '\t', ' ')

每天問(wèn)問(wèn)搬磚的自己,跟咸魚(yú)有什么兩樣。

億速云小編補(bǔ)充:

# -*- coding: utf-8 -*-
# 打開(kāi)文件
fo = open("jb51.txt", "r")
print("文件名為: ",fo.name)
 
for line in fo.readlines():       #依次讀取每行 
 line = line.strip()        #去掉每行頭尾空白 
 print ("讀取的數(shù)據(jù)為: %s" % (line))
 
# 關(guān)閉文件
fo.close()

line = line.strip()就是去掉每行頭尾空白

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI