我有一個~/practice/search_from看起來像這樣的文件:From issdfadfksjaflkfasdfasfadfsdfdfssgdggggggggggggsdgsgsdgFrom jdasdfewfsdfasadsf我想打印以 From 開頭的行。所以我在 python 提示中做了以下操作:>>> fhandle=open('practice/search_from')>>> for line in fhandle:... if not line.startswith('From '):... continue... else:... print(line.rstrip())... From iFrom j這段代碼似乎工作正常。然而,當我把>>> fhandle=open('practice/search_from')>>> for line in fhandle:... line = line.rstrip()... if not line.startswith('From:') :... continue... print(line)... 或者>>> fhandle=open('practice/search_from')>>> for line in fhandle:... line = line.rstrip()... if not line.startswith('From:') :... continue... else:... print(line)沒有打印出來。為什么會這樣?有沒有辦法修復最后兩個代碼?
2 回答

飲歌長嘯
TA貢獻1951條經(jīng)驗 獲得超3個贊
您的代碼很好,除了您正在使用From:.
colon(:)從您的代碼中刪除,它將正常工作:
In [2296]: fhandle=open('practice/search_from')
In [2297]: for line in fhandle:
...: line = line.rstrip()
...: if not line.startswith('From'):
...: continue
...: print(line)
...:
From i
From j

繁華開滿天機
TA貢獻1816條經(jīng)驗 獲得超4個贊
沒有打印出任何內(nèi)容,因為您的文件中沒有任何行以From:
.
line.startswith('From:')
True
僅當該行以“From:”(包括冒號)開頭時才會出現(xiàn)。因此not line.startswith('From:')
將始終True
在您的文件中(沒有以 開頭的行From:
),并且您將始終評估該continue
行,該行跳轉到for
循環(huán)的下一次迭代。
添加回答
舉報
0/150
提交
取消