鱼C论坛

 找回密码
 立即注册
查看: 1319|回复: 0

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

[复制链接]
发表于 2019-5-5 14:23:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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[0]+","+each[1]+'\n'
            f.writelines(strline)
            
#txt写入字典
def readtxt(x):
    with open ("record.txt",'r+') as f:
        for each in f:
            key=each.split(",")[0]
            value=each.split(",")[1].strip('\n')
            x[key]=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[1]=="已学":
            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[key]='已学'
    writetxt(a)
    
a=show()       
setValue("026字典:当索引不好用时2")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 12:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表