如何从文本文件中读取这样的数据?

时间:2013-08-20 14:31:17

标签: python python-2.7

文本文件就像

  

101#一个整数

     

abcd #a string

     

2#一个数字,表示下面有多少3线结构

     

1.4#some float number

     

2#一个数字,表示下一行中有多少个数字

     

1 5#2个数字

     

2.7#另一个浮点数

     

3#另一个号码

     

4 2 7#三个数字

,输出应该是这样的 [101, 'ABCD',[1.4,[1,5]],[2.7,[4,2,7]]]

我可以逐行执行,使用readlines(),strip(),int()和for循环,但我不确定如何像专业人士那样做。

P.S。可以有空格和制表符,也许在文本文件中随机插入空行。输入最初是针对C程序的,无关紧要:(

我的代码:

    with open('data','r') as f:
    lines = [line.strip('\n') for line in f.readlines()]
    i=0
    while(i<len(lines)):
        course_id = int(lines[i])
        i+=1
        course_name = lines[i]
        i+=1 
        class_no = int(lines[i])
        i+=1
        for j in range(class_no):
            fav = float(lines[i])
            i+=2
            class_sched = lines[i].split(" ")

从文件中读取的变量将在之后处理

所有那些i + =看起来绝对可怕!对于这类任务来说似乎是一个很长的Python程序

0 个答案:

没有答案