第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Python中打印文本文件每個段落的第一行?

如何在Python中打印文本文件每個段落的第一行?

catspeake 2023-06-27 14:07:40
假設(shè)我有一個像這樣的文本文件:Tom15BasketballJames16TennisTrackChoirTim14BandClass Chairman我想顯示這個:TomJamesTim我的程序允許用戶將更多信息附加到 txt 文件中。雖然我可以讓它只讀取第 1、5 和 11 行,但問題在于顯示任何添加的信息。每個段落也可能有不同的行數(shù)。據(jù)我所知(并在網(wǎng)上找到),沒有辦法在不導(dǎo)入外部工具的情況下僅打印 txt 文件每個段落的第一行。是否有一種復(fù)雜的方法來做到這一點,或者是否有不同的方法來解決這個問題?
查看完整描述

2 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗 獲得超6個贊

使用變量來跟蹤上一次迭代中的行是否包含任何文本。您需要包含文本的行,并且前一行(如果有)沒有任何文本。


previous_has_text = False

with open('input.txt') as f:

    for line in f:

        line = line.strip()

        if line:

            # THIS line has text

            if not previous_has_text:

                print(line)

            previous_has_text = True  # ready for next iteration

        else:

            previous_has_text = False  # likewise

給出:


Tom

James

Tim

使用這種方法,段落之間是否有多個空行也沒有關(guān)系。此外,如果“空白”行包含空格,它仍然可以工作。



查看完整回答
反對 回復(fù) 2023-06-27
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗 獲得超3個贊

f = open('filename.txt', 'rt')


for entry in f.read().split('\n\n'):

    print(entry[0 : entry.index('\n')])

filename.txt是該文本文件的名稱,rt是文件打開模式:r代表“read”(只讀模式)和t“text”文件。


每個條目(段落)都由兩個換行符分隔(想想看),因此.split()對于每個這樣的條目,我們知道第一行是名稱,因此我們拼接字符串,就像[0 : entry.index('\n')]給出entry.index('\n')第一個條目旁邊的索引一樣條目中的換行符。


另外,在運行之前請確保該文件確實存在,否則會引發(fā)錯誤。


查看完整回答
反對 回復(fù) 2023-06-27
  • 2 回答
  • 0 關(guān)注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號