如何从文本文件中整理出整数和字符串?

时间:2014-09-22 11:47:58

标签: python list sorted

所以我正在尝试创建一个程序,它读取文本文件并以某种方式输出字符串和整数。

我想打印出字符串所在的行,并创建包含文本文件中所有整数的列表。 (进一步使用整数来找到min,max,median等)

我试过并完全被卡住了。

def readfile(file):
    try:
        f = open(file, 'r')
        fil = f.readlines()
        f.close()
        return fil
    except IOError:
        print('fil finns inte')
        return None

def rader(rowlist):
    k=rowlist
    l=[]
    try:
        for i in k:
            l.append(int(i.strip()))
            return l
    except:
        print("sds")

所以这段代码很明显没有完成,目前也是用doctest运行的。我陷入了我想要将整数排序到列表的部分以及要用行号打印出来的字符串。

所以很明显我想要一个遍历文档列表的循环,当它遇到一个整数时,将它附加到一个列表中,当它遇到一个字符串时,停止,只是对于除外的情况或类似的东西,并使用行号(i)将字符串打印出togeather。

我该如何创建?我不是在寻找一个非常复杂的程序,而是一个简单的循环,我只能在脑海中看到如何编码。

你的确是一个心疼的学生。

1 个答案:

答案 0 :(得分:0)

请看一个例​​子:

def get_integer_or_none(text):
    '''
    Returns integer from text or None if text is not an integer.
    '''
    try:
        return int(text)
    except ValueError:
        return None

for text in ('1', 'some text', '2 not an integer', '-1000'):
    integer_value = get_integer_or_none(text)
    if integer_value is not None:
        print('This text "{}" is an integer ({})'.format(text, integer_value))
    else:
        print('This text "{}" is not an integer'.format(text))