首页 > 解决方案 > ValueError:找不到子字符串,为什么?

问题描述

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(':'))

标签: python

解决方案


也许你可以试试这段代码:

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)

推荐阅读