Noname Version 0.0.1.0 demo

  • 缘由

​ 每周一次的青年大学习要求收截图,而这个“艰巨又光荣”的任务在我的身上,所以一直想写一个小工具来帮助我统计未观看的同学名单方便我去催促。今天用半个小时不到时间,先写出来一个小demo,主要解决手动对名单找出未观看名单的问题。

  • 版本号

Version 0.0.1 demo

  • 思想

使用2个文本文件,一个用来保存本班同学所有的名单,一个用来保存已经观看的同学名单。 使用文件保存的目的是实现程序关闭情况下可以保存上次运行后的数据,让名单可以实时的改变,不需要每次都重新开始。

启动程序后,分别读取两个文本文件,分别存在两个list 当中,分别为porgname_list和pname_list 。然后分别对两个list中的元素进行处理,目前的处理主要是去除元素的回车符号“ ”。

文件读取

print(os.getcwd())
porgnamelist = open ('listmagngerorglist.txt','r')
porgname_list=porgnamelist.readlines()
porgnamelist.close()

opnlist = open ('listmagngeroprlist.txt','r')
pname_list=opnlist.readlines()
opnlist.close()

进入循环状态,选择操作模式:添加已观看、导出已观看、导出未观看及人数、退出。导出未观看及人数主要是通过对比两个列表实现,存在于orgname_list中的元素若没有存在于name_list则判定为未观看。

列表元素处理

name_list=[]
orgname_list=[]
print(type(name_list))
for temp_list in pname_list:
    temp_list=temp_list.strip("
")
    name_list.append(temp_list)
for temp_list in porgname_list:
    orgname_list.append(temp_list.strip("
"))

循环体

while True:
    print("1:添加已观看")
    print("2:导出已观看")
    print("3:导出未观看")
    print("4:退出")

    a=int(input("操作模式"))
    sum_num = 0
    if a==1:
        append_nm=input("input name:")
        if append_nm in name_list:
            print("{} is in the name_list".format(append_nm))
        else:
            name_list.append(append_nm)
    elif a==2:
        print(name_list)
    elif a==3:
        for temp_name in orgname_list:
            if temp_name not in name_list:
                print(temp_name)
                sum_num+=1
        print("the sum is {} ".format(sum_num))
    elif a==4:
        break

循环结束以 w 模式打开已观看名单文本文件,用writelines方法,将修改过的name_list覆盖进源文件。程序结束

文件覆盖

fname_list=[]
for temp_list in name_list:
    fname_list.append(temp_list+'
')
opnlist = open ('listmagngeroprlist.txt','w')
opnlist.writelines(fname_list)
opnlist.close()
原文地址:https://www.cnblogs.com/taoyao-ccdr/p/14781743.html