文件操作练习题

 '''
 1. 文件a.txt内容:每一行内容分别为商品名字,价钱,个数。
 apple 10 3
 tesla 100000 1
 mac 3000 2
 lenovo 30000 3
 chicken 10 3
 通过代码,将其构建成这种数据类型:
 [{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......]
 并计算出总价钱。
 '''


 list_info = []

 with open(r'b.txt','r',encoding='utf-8') as f:
  for i in f:
   list = i.split()
   print(list)
   list_info.append({'name':list[0],'price':int(list[1]),'count':int(list[2])})
  # money = list(map(lambda x:x['price']*x['count'],list_info))
  money = map(lambda x: x['price'] * x['count'], list_info)
  ss = sum(money)
  print('共消费 %d 元'%ss)
 print(list_info)
  
 
 2,有如下文件:
 '''
 -------
 alex是老男孩python发起人,创建人。
 alex其实是人妖。
 谁说alex是sb?
 你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。
 ----------
 将文件中所有的alex都替换成大写的SB。
 '''

 import os

 with open('a.txt','r',encoding='utf-8') as f ,
    open('.a.txt.swap','w',encoding='utf-8') as o:
  # data = f.read()
  # o.write(data.replace('alex','ALEX')) #方法一:只适合小文件
  for i in f:
   print(i)
   o.write(i.replace('alex', 'ALEX'))
 os.remove('a.txt')
 os.rename('.a.txt.swap','a.txt')

原文地址:https://www.cnblogs.com/liwei-python-21/p/8808330.html