0

输入 :

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

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

4

2 回答 2

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)在任意宽度的空格上拆分,但只拆分一次,将数字和行的其余部分留在两个变量中。

于 2013-05-29T07:48:48.933 回答
0

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

于 2013-05-29T08:03:29.073 回答