文本文件就像
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 程序