python拆分字符串索引

2024-03-29 14:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

import fileinput

for line in fileinput.input("emaillist.txt"):
        line=line.rstrip('\n\r ')
        line= line.split('=')
        newlin = line[1]

为什么这是无效的?我想把这一行难看的文字拆开,从中得到有用的东西?split()函数是否生成一个列表,您可以通过list[x]对其进行寻址?在

谢谢!!!!在

^{pr2}$

Tags: 函数inimporttxt列表forinputline
3条回答

试着先检查一下这条线分成了多少部分:

import fileinput

for line in fileinput.input("emaillist.txt"):
    line = line.rstrip('\n\r ').split('=')
    if len(line) > 1:
        newline = line[1]
        # ...
    else:
        # do something else...

或者,在一行([line.rstrip('\n\r ').split('=')[1] for line in fileinput.input("emaillist.txt") if len(line.rstrip('\n\r ').split('=')) > 1])中:

在电子邮件列表.txt公司名称:

Email1=123@bob.com
email2=abc@123.com

^{pr2}$

如果'='有时丢失,可以使用line.partition('=')[2]

>>> 'a = b'.partition('=')
('a ', '=', ' b')
>>> 'a'.partition('=')
('a', '', '')

将其与split()进行比较:

^{pr2}$

Doesnt the split() function produce a list, which you can address via list[x] ?

是的。但是如果列表只有一个元素,那么除了0之外,不能用任何非负的元素来索引它。在

>>> 'foo'.split('=')
['foo']

相关问题 更多 >