1 def read_data():
2 with open("test","r",encoding="utf-8") as f :
3 for data in f:
4 yield data
5
6 g = read_data()
7
8 all_population = sum(eval(dt)["population"] for dt in g)
9 print(all_population )
10
11 g1 = read_data()
12
13 for res in g1:
14 data_pic = eval(res)
15 print("%s所占全部的比例是%.1f"%(data_pic["city"],round(data_pic["population"]/all_population,3) *100))
文件如下:
{"city":"北京","population":56}
{"city":"上海","population":28}
{"city":"南京","population":30}
{"city":"安徽","population":40}
{"city":"台湾","population":100}