Вывести определённую строку из файла
file = 'f.txt'
myfile = open(file, mode='r', encoding='utf_8')
if file:
print(myfile.readlines())
есть такой код, он открывает текстовый файл в котором номера телефонов и должен искать строку при вводе определённого номера но при этом он читает и отображает самую первую строку в независимости от того какой ввели номер, подскажите как сделать что бы при вводе номера показывало строку где содержится этот номер
Ответы (2 шт):
Автор решения: piece0f
→ Ссылка
file = 'f.txt'
myfile = open(file, mode='r', encoding='utf_8')
phones = myfile.read().splitlines() # можно .readlines(), но сохраняется '\n'
number = input()
if number in phones:
print(number)
else:
print('Nothing found')
myfile.close() # не забываем закрыть файл
Правильнее будет использовать конструкцию with ... as ..., которая за нас закроет файл, даже если выпадет исключение:
file = 'f.txt'
with open(file, mode='r', encoding='utf_8') as myfile:
phones = myfile.read().splitlines() # можно .readlines(), но сохраняется '\n'
number = input()
if number in phones:
print(number)
else:
print('Nothing found')
Автор решения: Kers
→ Ссылка
Как вариант:
num = "56" # Искомый номер
# Читаем файл
with open("asd.txt", mode='r', encoding='utf_8') as f:
lst = f.readlines()
# Ищем данные
for i in lst: # перебор всех элементов
if num in i: # Проверка на наличие номера
print(i)
Текстовый файл был составлен так:
12 qwe
21 asd
56 zxc
как понимаю что то вроде тел книги.
P.S. Если просто проверить наличие в номера в файле:
num = "56"
with open("asd.txt", mode='r', encoding='utf_8') as f:
lst = f.read()
if num in lst:
print(num)