При поиске символа я удалил лишний n в файле *.txt и распечатал его. Но я не понимаю, почему он печатает только это

#python-3.x #printing #full-text-search

Вопрос:

Отредактировано в 19:19, как я уже сказал в комментарии

Сначала вот текстовый файл: https://www.dropbox.com/s/dtxgyk9v25p7swt/mbox-short.txt?dl=0 и мой код таков:

 xfile = open('mbox-short.txt')
for line in xfile:
    # La prochaine ligne est pour enlever les espaces supperflus
    line = line.rstrip()
    if line.startswith('From:') :
        print(line)
 

Результат такой:

 From: stephen.marquard@uct.ac.za
From: louis@media.berkeley.edu
From: zqian@umich.edu
From: rjlowe@iupui.edu
From: zqian@umich.edu
 

и более.

О чем я прошу в этом. Когда моя программа находит то, что я ищу, она печатает «От ….za». Теперь я знаю, что за za следует больше символов, прежде чем он достигнет символа n? Как моя программа решает печатать только «От ….за», а не другие символы?

Заранее спасибо за беспокойство. Марио

Комментарии:

1. Я не уверен, что понимаю, в чем проблема. Вы имеете в виду, что он не печатает Sat Jan 5 09:14:16 2008 , например, в первой строке?

2. Это именно так! Почему программа остановилась на этом?

3. Похоже, что ваша программа выбирает строку 38, а не 1, при поиске «От: «. Попробуйте заменить ее на «От», и это должно исправить

4. Поскольку французский-мой родной язык, я вижу, что вопрос написан плохо. Я отредактирую его, чтобы уточнить, что я ищу по своему вопросу.

5. Как сказал Хакер: вы печатаете строки , которые начинаются с From: , а не строки, которые только начинаются From . Удалите : , чтобы получить и другие строки тоже.