#python
#python
Вопрос:
The my_data.txt файл выглядит следующим образом:
jim@gmail.com: hello123
tim@gmail.com: hello1234
Программа фактически извлекает адрес электронной почты и пароль из my_data.txt файл действительно разумный, по крайней мере, для базового программиста. Но каждый раз, когда я запускаю его, он кричит ValueError: substring not found
, даже если я попробовал оба строковых метода: .index()
и .find()
.
file = open('my_data.txt', 'r')
for line in file.readlines():
break_line = line.index(':') # OR: break_line = line.find(':')
email = line[:break_line]
password = line[(break_line 2):len(line)]
print(line.find(':'))
Ответ №1:
Я ожидаю, что у вас есть пустые строки в вашем текстовом файле. Попробуйте пропустить пустые строки и строки, которые не содержат «:» в начале:
for line in file.readlines():
if not line.strip():
continue
if ":" not in line:
continue
break_line = line.index(':') # OR: break_line = line.find(':')
email = line[:break_line]
password = line[(break_line 2):len(line)]
print(line.find(':'))
Комментарии:
1. Я пока не изменял другую часть цикла for. Я бы предложил использовать
line.split(":")
, хотя…
Ответ №2:
Может быть, вы можете попробовать этот код:
for line in file.readlines():
if line.strip(): # meaning there is a valid line
print(line)
break_line = line.split(':') #index(':') # OR: break_line = line.find(':')
email = break_line[0]
print(email)
password = break_line[1]
print(password)
Комментарии:
1. Спасибо. Проблема была с пустыми строками
2. Отлично. Вы ее нашли. Пожалуйста, тогда примите одно из сообщений? (или оба?) — если это вам поможет.