python: чтение строк и работа с каждой из строк
Всем привет! Мне необходима работа со строками из файла. У меня есть файл bonus.py, в нем содержится:
1
2
3
И есть файл test.py, в нем содержится:
import bonus
file = open('c://testper/bonus.py', 'r')
qwe = file.readlines()
print(qwe) # для считывания строк, что там вообще содержится
if qwe == '1':
print('Sucs!(1)')
else:
print('error')
Он выводит error, так как не обнаружил в файле bonus.py цифру 1. В print(qwe) выводится:
['1\n', '2\n', '3\n']
Как сделать так, чтобы он читал ВСЕ строки, и в строках искал то число, которое необходимо для вывода 'Sucs(1)'?
Ответы (1 шт):
Автор решения: Tehnorobot
→ Ссылка
- Так как в файле bonus.py находятся цифры: 1, 2, 3, где каждая с новой строки, следовательно в списке 'qwe' после каждой цифры стоит '\n', '\n' обозначает перенос на след. строчку.
- В этой строчке
if qwe == '1':вы сравниваете список со строкой, а не строку со строкой.
Вот один из вариантов решения:
import bonus
file = open(r'c://testper/bonus.py', 'r')
qwe = file.readlines()
print(qwe) # для считывания строк, что там вообще содержится
if '1\n' in qwe:
print('Sucs!(1)')
else:
print('error')
Вот еще более удобный:
import bonus
file = open(r'C:\Users\mihai\.spyder-py3/bonus.py', 'r')
qwe = [x.strip() for x in file.readlines()] # убираем '\n'
print(qwe) # для считывания строк, что там вообще содержится
if '1' in qwe:
print('Sucs!(1)')
else:
print('error')