2015-10-08 5 views
1

Output.txt = report_fail_20150818_13_23.txtКак читать конкретное слово текстового файла в Python

Я хочу прочитать output.txt от 8 персонажа до 11-го, так что он может печатать неудачу.

fo = open("output.txt", "r+") 
str = fo.read(8,11); 
print "Read String is : ", str 
fo.close() 
+0

какая ошибка/выход? – ojii

+0

'txt [7:11]' ...... –

+0

Используйте 'fo.seek', но вам может потребоваться открыть с помощью двоичного доступа, особенно в Windows. – cdarke

ответ

1

Необходимо сначала прочитать строку, а затем получить слово с этой строки. Используйте метод .readline() (Docs).

Вот правильный способ в соответствии с примером в вопросе:

fo = open("output.txt", "r+") 
str = fo.readline() 
str = str[7:11] 
print "Read String is : ", str 
fo.close() 

Однако для лучшей практике использовать with заявление:

with open('myfile.txt', 'r') as fo: 
    str = fo.readline() 
    str = str[7:11] 
    print "Read String is : ", str 

with автоматически закрывает файл, когда блок заканчивается. Если вы используете Python 2.5 или ниже, вы должны включить from __future__ import with_statement.

+0

Просьба показать, как использовать 'with' (наилучшая практика для открытия/закрытия файлов) – Pynchia

Смежные вопросы