Прежде всего, посмотрите на этот ответ при чтении файла построчно.
Как читать большой файл построчно в Python
Правильный, полностью Pythonic способ чтения файла следующий:
with open(...) as f:
for line in f:
# Do something with 'line'
Насколько я понимаю, вы пытаетесь проверить, есть ли имя пользователя, введенное пользователем, в списке и затем #Do something
.
Первая проблема заключается в том, что usernab не получает никакого значения от usernab = print(line.strip())
, поскольку print()
ничего не возвращает. Вместо этого вы должны присвоить usernab
строку и затем напечатать ее:
usernab = line.strip()
print(usernab)
Вторая проблема заключается в том, что вы пытаетесь использовать x
witch - это строка для итерации в диапазоне целых чисел. Вы в основном говорите: «Для каждой строки в диапазоне от 0 до 5, сделайте что-нибудь». Вы должны использовать другую переменную.
Кроме того, if (x) in (usernab)
проверит, содержит ли usernab x. В зависимости от того, что вы хотите сделать, вы можете изменить это.
Этот код компилируется под Python 3.7. Это добавит 1
к i
пять раз, каждый раз, когда x
будет найден в строке.
f = open("users.txt", "r")
x = str(input("Please enter a valid username: "))
i=0
for line in f:
usernab = line.strip()
print(usernab)
if (x) in (usernab):
for j in range(0,5):
i+=1
print(i)