您好,登錄后才能下訂單哦!
測(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ò)誤:
原因:
提示信息中提到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
在如:
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()就是去掉每行頭尾空白
免責(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)容。