亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么查找以"imooc"結尾的語句需要加"\n" line.endswith("imooc\n")?

endswith() 方法用于判斷字符串是否以指定后綴結尾,如果以指定后綴結尾返回True,否則返回False。

\n 換行符,相當于轉義,為什么不加的話就找不到匹配項呢?是否所有用到endswith()方法的語句在條件結尾都要加上"\n"??

謝謝。

def?find_imooc(fname):
????????f?=?open(fname)

????????for?line?in?f:
????????????????if?line.startswith('imooc')?and?line.endswith("imooc\n"):
????????????????????????print?line
find_imooc("test")


正在回答

3 回答

(1)linux下

vi?test
111
222
333

(2) python下

for循環
f?=?open('test')
for?i?in?f:
????print?i
顯示會多一個換行符,如下
111

222

333

f.seek(0)
s?=?[]
for?i?in?f:
????s.append(i)
print?s
顯示:(會有一個\n)?只是我們肉眼看不到。
['111\n',?'222\n',?'333\n']

為什么是\n?????os.linesep字符串給出當前平臺使用的行終止符?(windows?‘\r’)
import?os
os.linesep

所以你的問題,是\n結尾。?

0 回復 有任何疑惑可以回復我~

linux下文本中的換行符是\n ,所以每一行的結尾一定有\n

還有就是windows下的txt中,換行符是\r\n所以結尾就是\r\n.

0 回復 有任何疑惑可以回復我~

應該是f讀取文件的形式其中每行結尾都包含換行符,不同于自己賦值的string不包含換行符,不是所有用到endswith()方法的語句在條件結尾都要加上"\n",主要是看這個string本身在賦值的時候是否有換行符的問題

0 回復 有任何疑惑可以回復我~
#1

Naomi_Rbt 提問者

哎,似乎只能這么理解了。。。?不知道為什么python的help(endswith) 就出不來。。
2016-09-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么查找以"imooc"結尾的語句需要加"\n" line.endswith("imooc\n")?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號