0

文本文件就像

101 # 一个整数

abcd # 一个字符串

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

1.4 # 一些浮点数

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 循环逐行进行,但我不确定如何像专业人士那样做。

PS 文本文件中可能有空格和制表符,也可能是随机插入的空行。输入最初用于无关紧要的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 程序

4

0 回答 0