在文件的每一行添加冒号(:)

时间:2013-05-29 07:46:02

标签: python dictionary

输入:

126211  consecutive prog runs error logged debug core
126262  manual change memory view propagated views like variable view expression view

输出

126211 : consecutive prog runs error logged debug core
126262 : manual change memory view propagated views like variable view expression view

代码

def function_1():
    filename = open('input.txt', 'r')
    for line in filename:
        #print line
        line = line.rstrip('') 
        #line1= re.sub('[^\w ]','',line)[8:]
        #print line1

问题是我需要读取每一行的第一个数字并添加冒号(:),两边都有空格。任何建议将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:3)

在遇到的第一个空格上拆分:

def function_1():
    with open('input.txt') as f:
        for line in f:
            number, rest = line.split(None, 1)
            print '{} : {}'.format(number, rest.rstrip())

.split(None, 1)在任意宽度的空格上分割,但只有一次,在两个变量中留下数字和其余部分。

答案 1 :(得分:0)

@Martijn Pieters已经给出了正确答案,但万一总有6位数和2位空格,请注意您也可以使用print line[:6], ':', line[8:]