Рассмотрим файл foo.txt
:
some simple text
and another line in the file
Прочитать файл с помощью
with open('foo.txt', 'r') as myfile:
data = myfile.read()
Я хотел бы распечатать все символы с позиции i
до началастрока, которая содержит символ в позиции i
.
Например, если i
- это позиция h
из другого во 2-й строке, как обнаружить j
так что print data[j,i]
возвращает and anoth
?
Я пытался найти обратно, пока char не \n
, но я думаю, что он не мог бы работать, если файл имеет одну строку.
Итак, есть ли символ, обозначающий начало строки?Я пытался ^
, но это не работает.
MWE
# -*- coding: utf-8 -*-
with open('foo.txt', 'r') as myfile:
data = myfile.read()
for i,c in enumerate(data):
print i,c
# i = 16 is the 1st \n
# so procedure below does not work if
# the file contains a single line
i = 25 # position of h. problem with i = 13 for example.
print data[i] # confirming that
j = i
while data[j] != "\n":
j -= 1
print data[j:i+1]