waletor 发表于 2019-5-5 14:23:45

【字典】获取课程文件夹列表写入txt,对学习状态进行管理

本帖最后由 waletor 于 2019-5-7 21:10 编辑

1、将课程文件夹列表写入字典,存入txt
2、txt读取返回字典
3、修改字典的值,并写入txt

实现txt如下效果:
000愉快的开始,已学
001我和Python的第一次亲密接触,已学
002用Python设计第一个游戏,已学
003小插曲之变量和字符串,已学
004改进我们的小游戏,已学
005闲聊之Python的数据类型,已学



import os

#获取文件列表
def getList(path,workList):
    for name in os.listdir(path):
      fullpath=os.path.join(path,name)
      if os.path.isdir(fullpath):
            workList.setdefault(name,'未学')

#字典写入txt
def writetxt(workList):
    with open ("record.txt",'w+') as f:
      for each in workList.items():
            strline=each+","+each+'\n'
            f.writelines(strline)
            
#txt写入字典
def readtxt(x):
    with open ("record.txt",'r+') as f:
      for each in f:
            key=each.split(",")
            value=each.split(",").strip('\n')
            x=value   
    return x

#展示课程状态
def show():
    if os.path.exists("record.txt")==False:
      x={}
      getList('.',x)
      writetxt(x)
    a={}
    a=readtxt(a)
    count=0
    total=len(a.keys())
    for each in a.items():
      if each=="已学":
            count+=1
      print (each)
      
    percent=count/total*100
    print("总共%d节课,已学习%d节,未学习%d节,学习完成%d%%" %(total,count,total-count,percent))   
    return a

#设置课题的状态值
def setValue(key):
    a=show()   
    a='已学'
    writetxt(a)
   
a=show()      
setValue("026字典:当索引不好用时2")
页: [1]
查看完整版本: 【字典】获取课程文件夹列表写入txt,对学习状态进行管理